ncurses 6.0 - patch 20171028
[ncurses.git] / doc / html / man / ncurses.3x.html
1 <!-- 
2   * t
3   ****************************************************************************
4   * Copyright (c) 1998-2015,2017 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.135 2017/08/12 22:27:43 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 http://invisible-island.net/scripts/readme.html#others_scripts">
37 <TITLE>ncurses 3x</TITLE>
38 <link rev=made 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.0 (patch 20171028).
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                <STRONG>wchar_t</STRONG>
262                     stores  a  "wide"  character.  Like <STRONG>chtype</STRONG>, this may be an
263                     integer.
264
265                <STRONG>wint_t</STRONG>
266                     stores a <STRONG>wchar_t</STRONG> or <STRONG>WEOF</STRONG> - not the same, though  both  may
267                     have the same size.
268
269                The  "wide"  library provides new functions which are analogous
270                to functions in the "normal" library.  There is a  naming  con-
271                vention  which relates many of the normal/wide variants: a "_w"
272                is  inserted  into  the  name.   For  example,  <STRONG>waddch</STRONG>  becomes
273                <STRONG>wadd_wch</STRONG>.
274
275
276 </PRE><H3><a name="h3-Routine-Name-Index">Routine Name Index</a></H3><PRE>
277        The  following table lists each <STRONG>curses</STRONG> routine and the name of the man-
278        ual page on which it is  described.   Routines  flagged  with  "*"  are
279        ncurses-specific, not described by XPG4 or present in SVr4.
280
281                     <STRONG>curses</STRONG> Routine Name      Manual Page Name
282                     ---------------------------------------------
283                     COLOR_PAIR               <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
284                     PAIR_NUMBER              <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
285                     _nc_free_and_exit        <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
286                     _nc_freeall              <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
287                     _nc_tracebits            <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
288                     _traceattr               <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
289                     _traceattr2              <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
290                     _tracechar               <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
291                     _tracechtype             <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
292                     _tracechtype2            <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
293                     _tracedump               <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
294                     _tracef                  <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
295                     _tracemouse              <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
296                     add_wch                  <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
297                     add_wchnstr              <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
298                     add_wchstr               <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
299                     addch                    <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
300                     addchnstr                <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
301                     addchstr                 <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
302                     addnstr                  <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
303                     addnwstr                 <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
304                     addstr                   <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
305                     addwstr                  <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
306                     alloc_pair               <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>*
307                     assume_default_colors    <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>*
308                     attr_get                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
309                     attr_off                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
310                     attr_on                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
311                     attr_set                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
312                     attroff                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
313                     attron                   <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
314                     attrset                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
315
316                     baudrate                 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
317                     beep                     <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
318                     bkgd                     <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
319                     bkgdset                  <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
320                     bkgrnd                   <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
321                     bkgrndset                <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
322                     border                   <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
323                     border_set               <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
324                     box                      <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
325                     box_set                  <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
326                     can_change_color         <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
327                     cbreak                   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
328                     chgat                    <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
329                     clear                    <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
330                     clearok                  <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
331                     clrtobot                 <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
332                     clrtoeol                 <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
333                     color_content            <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
334                     color_set                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
335                     copywin                  <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
336                     curs_set                 <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
337                     curses_version           <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
338                     def_prog_mode            <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
339                     def_shell_mode           <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
340                     define_key               <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>*
341                     del_curterm              <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
342                     delay_output             <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
343                     delch                    <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
344                     deleteln                 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
345                     delscreen                <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
346                     delwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
347                     derwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
348                     doupdate                 <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
349                     dupwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
350                     echo                     <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
351                     echo_wchar               <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
352                     echochar                 <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
353                     endwin                   <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
354                     erase                    <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
355                     erasechar                <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
356                     erasewchar               <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
357                     extended_color_content   <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
358                     extended_pair_content    <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
359                     extended_slk_color       <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>*
360                     filter                   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
361                     find_pair                <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>*
362                     flash                    <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
363                     flushinp                 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
364                     free_pair                <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>*
365                     get_wch                  <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
366                     get_wstr                 <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
367                     getattrs                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
368                     getbegx                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
369                     getbegy                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
370                     getbegyx                 <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
371                     getbkgd                  <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
372                     getbkgrnd                <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
373                     getcchar                 <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
374                     getch                    <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
375                     getcurx                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
376                     getcury                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
377                     getmaxx                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
378                     getmaxy                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
379                     getmaxyx                 <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
380                     getmouse                 <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
381
382                     getn_wstr                <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
383                     getnstr                  <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
384                     getparx                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
385                     getpary                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
386                     getparyx                 <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
387                     getstr                   <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
388                     getsyx                   <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
389                     getwin                   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
390                     getyx                    <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
391                     halfdelay                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
392                     has_colors               <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
393                     has_ic                   <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
394                     has_il                   <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
395                     has_key                  <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>*
396                     hline                    <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
397                     hline_set                <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
398                     idcok                    <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
399                     idlok                    <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
400                     immedok                  <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
401                     in_wch                   <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
402                     in_wchnstr               <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
403                     in_wchstr                <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
404                     inch                     <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
405                     inchnstr                 <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
406                     inchstr                  <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
407                     init_color               <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
408                     init_extended_color      <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
409                     init_extended_pair       <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
410                     init_pair                <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
411                     initscr                  <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
412                     innstr                   <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
413                     innwstr                  <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
414                     ins_nwstr                <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
415                     ins_wch                  <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
416                     ins_wstr                 <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
417                     insch                    <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
418                     insdelln                 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
419                     insertln                 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
420                     insnstr                  <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
421                     insstr                   <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
422                     instr                    <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
423                     intrflush                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
424                     inwstr                   <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
425                     is_cleared               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
426                     is_idcok                 <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
427                     is_idlok                 <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
428                     is_immedok               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
429                     is_keypad                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
430                     is_leaveok               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
431                     is_linetouched           <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
432                     is_nodelay               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
433                     is_notimeout             <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
434                     is_pad                   <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
435                     is_scrollok              <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
436                     is_subwin                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
437                     is_syncok                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
438                     is_term_resized          <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
439                     is_wintouched            <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
440                     isendwin                 <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
441                     key_defined              <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>*
442                     key_name                 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
443                     keybound                 <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>*
444                     keyname                  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
445                     keyok                    <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>*
446                     keypad                   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
447
448                     killchar                 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
449                     killwchar                <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
450                     leaveok                  <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
451                     longname                 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
452                     mcprint                  <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>*
453                     meta                     <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
454                     mouse_trafo              <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
455                     mouseinterval            <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
456                     mousemask                <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
457                     move                     <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
458                     mvadd_wch                <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
459                     mvadd_wchnstr            <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
460                     mvadd_wchstr             <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
461                     mvaddch                  <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
462                     mvaddchnstr              <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
463                     mvaddchstr               <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
464                     mvaddnstr                <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
465                     mvaddnwstr               <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
466                     mvaddstr                 <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
467                     mvaddwstr                <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
468                     mvchgat                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
469                     mvcur                    <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
470                     mvdelch                  <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
471                     mvderwin                 <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
472                     mvget_wch                <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
473                     mvget_wstr               <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
474                     mvgetch                  <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
475                     mvgetn_wstr              <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
476                     mvgetnstr                <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
477                     mvgetstr                 <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
478                     mvhline                  <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
479                     mvhline_set              <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
480                     mvin_wch                 <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
481                     mvin_wchnstr             <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
482                     mvin_wchstr              <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
483                     mvinch                   <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
484                     mvinchnstr               <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
485                     mvinchstr                <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
486                     mvinnstr                 <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
487                     mvinnwstr                <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
488                     mvins_nwstr              <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
489                     mvins_wch                <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
490                     mvins_wstr               <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
491                     mvinsch                  <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
492                     mvinsnstr                <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
493                     mvinsstr                 <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
494                     mvinstr                  <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
495                     mvinwstr                 <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
496                     mvprintw                 <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
497                     mvscanw                  <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
498                     mvvline                  <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
499                     mvvline_set              <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
500                     mvwadd_wch               <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
501                     mvwadd_wchnstr           <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
502                     mvwadd_wchstr            <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
503                     mvwaddch                 <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
504                     mvwaddchnstr             <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
505                     mvwaddchstr              <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
506                     mvwaddnstr               <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
507                     mvwaddnwstr              <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
508                     mvwaddstr                <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
509                     mvwaddwstr               <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
510                     mvwchgat                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
511                     mvwdelch                 <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
512                     mvwget_wch               <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
513
514                     mvwget_wstr              <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
515                     mvwgetch                 <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
516                     mvwgetn_wstr             <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
517                     mvwgetnstr               <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
518                     mvwgetstr                <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
519                     mvwhline                 <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
520                     mvwhline_set             <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
521                     mvwin                    <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
522                     mvwin_wch                <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
523                     mvwin_wchnstr            <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
524                     mvwin_wchstr             <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
525                     mvwinch                  <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
526                     mvwinchnstr              <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
527                     mvwinchstr               <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
528                     mvwinnstr                <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
529                     mvwinnwstr               <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
530                     mvwins_nwstr             <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
531                     mvwins_wch               <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
532                     mvwins_wstr              <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
533                     mvwinsch                 <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
534                     mvwinsnstr               <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
535                     mvwinsstr                <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
536                     mvwinstr                 <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
537                     mvwinwstr                <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
538                     mvwprintw                <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
539                     mvwscanw                 <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
540                     mvwvline                 <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
541                     mvwvline_set             <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
542                     napms                    <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
543                     newpad                   <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
544                     newterm                  <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
545                     newwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
546                     nl                       <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
547                     nocbreak                 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
548                     nodelay                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
549                     noecho                   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
550                     nofilter                 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>*
551                     nonl                     <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
552                     noqiflush                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
553                     noraw                    <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
554                     notimeout                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
555                     overlay                  <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
556                     overwrite                <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
557                     pair_content             <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
558                     pechochar                <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
559                     pnoutrefresh             <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
560                     prefresh                 <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
561                     printw                   <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
562                     putp                     <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
563                     putwin                   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
564                     qiflush                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
565                     raw                      <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
566                     redrawwin                <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
567                     refresh                  <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
568                     reset_prog_mode          <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
569                     reset_shell_mode         <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
570                     resetty                  <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
571                     resize_term              <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
572                     resizeterm               <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
573                     restartterm              <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
574                     ripoffline               <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
575                     savetty                  <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
576                     scanw                    <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
577                     scr_dump                 <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
578                     scr_init                 <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
579
580                     scr_restore              <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
581                     scr_set                  <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
582                     scrl                     <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
583                     scroll                   <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
584                     scrollok                 <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
585                     set_curterm              <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
586                     set_term                 <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
587                     setcchar                 <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
588                     setscrreg                <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
589                     setsyx                   <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
590                     setterm                  <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
591                     setupterm                <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
592                     slk_attr                 <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>*
593                     slk_attr_off             <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
594                     slk_attr_on              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
595                     slk_attr_set             <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
596                     slk_attroff              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
597                     slk_attron               <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
598                     slk_attrset              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
599                     slk_clear                <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
600                     slk_color                <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
601                     slk_init                 <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
602                     slk_label                <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
603                     slk_noutrefresh          <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
604                     slk_refresh              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
605                     slk_restore              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
606                     slk_set                  <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
607                     slk_touch                <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
608                     standend                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
609                     standout                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
610                     start_color              <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
611                     subpad                   <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
612                     subwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
613                     syncok                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
614                     term_attrs               <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
615                     termattrs                <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
616                     termname                 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
617                     tgetent                  <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
618                     tgetflag                 <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
619                     tgetnum                  <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
620                     tgetstr                  <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
621                     tgoto                    <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
622                     tigetflag                <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
623                     tigetnum                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
624                     tigetstr                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
625                     timeout                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
626                     tiparm                   <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>*
627                     touchline                <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
628                     touchwin                 <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
629                     tparm                    <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
630                     tputs                    <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
631                     tputs                    <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
632                     trace                    <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
633                     typeahead                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
634                     unctrl                   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
635                     unget_wch                <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
636                     ungetch                  <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
637                     ungetmouse               <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
638                     untouchwin               <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
639                     use_default_colors       <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>*
640                     use_env                  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
641                     use_extended_names       <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
642                     use_legacy_coding        <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>*
643                     use_tioctl               <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
644                     vid_attr                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
645
646                     vid_puts                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
647                     vidattr                  <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
648                     vidputs                  <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
649                     vline                    <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
650                     vline_set                <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
651                     vw_printw                <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
652                     vw_scanw                 <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
653                     vwprintw                 <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
654                     vwscanw                  <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
655                     wadd_wch                 <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
656                     wadd_wchnstr             <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
657                     wadd_wchstr              <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
658                     waddch                   <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
659                     waddchnstr               <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
660                     waddchstr                <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
661                     waddnstr                 <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
662                     waddnwstr                <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
663                     waddstr                  <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
664                     waddwstr                 <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
665                     wattr_get                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
666                     wattr_off                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
667                     wattr_on                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
668                     wattr_set                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
669                     wattroff                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
670                     wattron                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
671                     wattrset                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
672                     wbkgd                    <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
673                     wbkgdset                 <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
674                     wbkgrnd                  <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
675                     wbkgrndset               <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
676                     wborder                  <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
677                     wborder_set              <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
678                     wchgat                   <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
679                     wclear                   <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
680                     wclrtobot                <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
681                     wclrtoeol                <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
682                     wcolor_set               <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
683                     wcursyncup               <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
684                     wdelch                   <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
685                     wdeleteln                <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
686                     wecho_wchar              <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
687                     wechochar                <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
688                     wenclose                 <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
689                     werase                   <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
690                     wget_wch                 <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
691                     wget_wstr                <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
692                     wgetbkgrnd               <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
693                     wgetch                   <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
694                     wgetdelay                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
695                     wgetn_wstr               <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
696                     wgetnstr                 <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
697                     wgetparent               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
698                     wgetscrreg               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
699                     wgetstr                  <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
700                     whline                   <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
701                     whline_set               <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
702                     win_wch                  <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
703                     win_wchnstr              <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
704                     win_wchstr               <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
705                     winch                    <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
706                     winchnstr                <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
707                     winchstr                 <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
708                     winnstr                  <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
709                     winnwstr                 <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
710                     wins_nwstr               <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
711
712                     wins_wch                 <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
713                     wins_wstr                <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
714                     winsch                   <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
715                     winsdelln                <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
716                     winsertln                <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
717                     winsnstr                 <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
718                     winsstr                  <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
719                     winstr                   <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
720                     winwstr                  <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
721                     wmouse_trafo             <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
722                     wmove                    <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
723                     wnoutrefresh             <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
724                     wprintw                  <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
725                     wredrawln                <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
726                     wrefresh                 <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
727                     wresize                  <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>*
728                     wscanw                   <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
729                     wscrl                    <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
730                     wsetscrreg               <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
731                     wstandend                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
732                     wstandout                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
733                     wsyncdown                <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
734                     wsyncup                  <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
735                     wtimeout                 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
736                     wtouchln                 <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
737                     wunctrl                  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
738                     wvline                   <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
739                     wvline_set               <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
740
741
742 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
743        Routines  that return an integer return <STRONG>ERR</STRONG> upon failure and an integer
744        value other than <STRONG>ERR</STRONG> upon successful completion, unless otherwise noted
745        in the routine descriptions.
746
747        As  a  general rule, routines check for null pointers passed as parame-
748        ters, and handle this as an error.
749
750        All macros return  the  value  of  the  <STRONG>w</STRONG>  version,  except  <STRONG>setscrreg</STRONG>,
751        <STRONG>wsetscrreg</STRONG>,  <STRONG>getyx</STRONG>,  <STRONG>getbegyx</STRONG>,  and  <STRONG>getmaxyx</STRONG>.   The  return  values of
752        <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>, <STRONG>getyx</STRONG>,  <STRONG>getbegyx</STRONG>,  and  <STRONG>getmaxyx</STRONG>  are  undefined
753        (i.e.,  these  should  not be used as the right-hand side of assignment
754        statements).
755
756        Routines that return pointers return <STRONG>NULL</STRONG> on error.
757
758
759 </PRE><H2><a name="h2-ENVIRONMENT">ENVIRONMENT</a></H2><PRE>
760        The following environment symbols are useful for customizing  the  run-
761        time  behavior  of  the  <STRONG>ncurses</STRONG> library.  The most important ones have
762        been already discussed in detail.
763
764
765 </PRE><H3><a name="h3-CC-command-character">CC command-character</a></H3><PRE>
766        When set, change occurrences of the command_character (i.e., the  <STRONG>cmdch</STRONG>
767        capability)  of  the loaded terminfo entries to the value of this vari-
768        able.  Very few terminfo entries provide this feature.
769
770        Because this name is also used in development environments to represent
771        the C compiler's name, <STRONG>ncurses</STRONG> ignores it if it does not happen to be a
772        single character.
773
774
775 </PRE><H3><a name="h3-BAUDRATE">BAUDRATE</a></H3><PRE>
776        The debugging library checks this environment variable when the  appli-
777        cation  has  redirected output to a file.  The variable's numeric value
778        is used for the baudrate.  If no value is  found,  <STRONG>ncurses</STRONG>  uses  9600.
779        This  allows  testers to construct repeatable test-cases that take into
780        account costs that depend on baudrate.
781
782
783 </PRE><H3><a name="h3-COLUMNS">COLUMNS</a></H3><PRE>
784        Specify the width of the screen in characters.  Applications running in
785        a  windowing  environment  usually  are able to obtain the width of the
786        window in which they are executing.  If neither the <STRONG>COLUMNS</STRONG>  value  nor
787        the  terminal's  screen  size is available, <STRONG>ncurses</STRONG> uses the size which
788        may be specified in the terminfo database (i.e., the <STRONG>cols</STRONG> capability).
789
790        It is important that your  application  use  a  correct  size  for  the
791        screen.   This  is  not always possible because your application may be
792        running on a host which does not honor NAWS (Negotiations About  Window
793        Size),  or  because  you are temporarily running as another user.  How-
794        ever, setting <STRONG>COLUMNS</STRONG> and/or <STRONG>LINES</STRONG> overrides the library's use  of  the
795        screen size obtained from the operating system.
796
797        Either  <STRONG>COLUMNS</STRONG>  or <STRONG>LINES</STRONG> symbols may be specified independently.  This
798        is mainly useful to circumvent legacy misfeatures of terminal  descrip-
799        tions, e.g., xterm which commonly specifies a 65 line screen.  For best
800        results, <STRONG>lines</STRONG> and <STRONG>cols</STRONG> should not be specified in a terminal  descrip-
801        tion for terminals which are run as emulations.
802
803        Use  the  <STRONG>use_env</STRONG>  function  to disable all use of external environment
804        (but not including system calls) to determine the screen size.  Use the
805        <STRONG>use_tioctl</STRONG> function to update <STRONG>COLUMNS</STRONG> or <STRONG>LINES</STRONG> to match the screen size
806        obtained from system calls or the terminal database.
807
808
809 </PRE><H3><a name="h3-ESCDELAY">ESCDELAY</a></H3><PRE>
810        Specifies the total time, in milliseconds, for which ncurses will await
811        a  character  sequence,  e.g., a function key.  The default value, 1000
812        milliseconds, is enough for most uses.  However, it is made a  variable
813        to accommodate unusual applications.
814
815        The  most common instance where you may wish to change this value is to
816        work with slow hosts, e.g., running on a network.  If the  host  cannot
817        read  characters rapidly enough, it will have the same effect as if the
818        terminal did not send characters  rapidly  enough.   The  library  will
819        still see a timeout.
820
821        Note  that  xterm  mouse  events  are built up from character sequences
822        received from the xterm.  If your application makes heavy use of multi-
823        ple-clicking,  you  may wish to lengthen this default value because the
824        timeout applies to the composed multi-click event as well as the  indi-
825        vidual clicks.
826
827        In addition to the environment variable, this implementation provides a
828        global variable with the same name.  Portable applications  should  not
829        rely  upon  the  presence  of  ESCDELAY in either form, but setting the
830        environment variable rather than the global variable  does  not  create
831        problems when compiling an application.
832
833
834 </PRE><H3><a name="h3-HOME">HOME</a></H3><PRE>
835        Tells  <STRONG>ncurses</STRONG> where your home directory is.  That is where it may read
836        and write auxiliary terminal descriptions:
837
838          $HOME/.termcap
839          $HOME/.terminfo
840
841
842 </PRE><H3><a name="h3-LINES">LINES</a></H3><PRE>
843        Like COLUMNS, specify the height of the screen in characters.  See COL-
844        UMNS for a detailed description.
845
846
847 </PRE><H3><a name="h3-MOUSE_BUTTONS_123">MOUSE_BUTTONS_123</a></H3><PRE>
848        This applies only to the OS/2 EMX port.  It specifies the order of but-
849        tons on the mouse.  OS/2 numbers a 3-button mouse  inconsistently  from
850        other platforms:
851
852          1 = left
853          2 = right
854          3 = middle.
855
856        This variable lets you customize the mouse.  The variable must be three
857        numeric digits 1-3 in any order, e.g., 123 or 321.  If it is not speci-
858        fied, <STRONG>ncurses</STRONG> uses 132.
859
860
861 </PRE><H3><a name="h3-NCURSES_ASSUMED_COLORS">NCURSES_ASSUMED_COLORS</a></H3><PRE>
862        Override  the compiled-in assumption that the terminal's default colors
863        are white-on-black (see <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>).  You  may  set  the  fore-
864        ground  and  background  color values with this environment variable by
865        proving a 2-element list: foreground,background.  For example, to  tell
866        ncurses  to  not assume anything about the colors, set this to "-1,-1".
867        To make it green-on-black, set it to "2,0".  Any  positive  value  from
868        zero to the terminfo <STRONG>max_colors</STRONG> value is allowed.
869
870
871 </PRE><H3><a name="h3-NCURSES_CONSOLE2">NCURSES_CONSOLE2</a></H3><PRE>
872        This applies only to the MinGW port of ncurses.
873
874        The  <STRONG>Console2</STRONG> program's handling of the Microsoft Console API call <STRONG>Cre-</STRONG>
875        <STRONG>ateConsoleScreenBuffer</STRONG> is defective.  Applications which use this  will
876        hang.   However,  it is possible to simulate the action of this call by
877        mapping coordinates,  explicitly  saving  and  restoring  the  original
878        screen  contents.   Setting the environment variable <STRONG>NCGDB</STRONG> has the same
879        effect.
880
881
882 </PRE><H3><a name="h3-NCURSES_GPM_TERMS">NCURSES_GPM_TERMS</a></H3><PRE>
883        This applies only to ncurses configured to use the GPM interface.
884
885        If present, the environment variable is a list of one or more  terminal
886        names  against which the <STRONG>TERM</STRONG> environment variable is matched.  Setting
887        it to an empty value disables the GPM  interface;  using  the  built-in
888        support for xterm, etc.
889
890        If the environment variable is absent, ncurses will attempt to open GPM
891        if <STRONG>TERM</STRONG> contains "linux".
892
893
894 </PRE><H3><a name="h3-NCURSES_NO_HARD_TABS">NCURSES_NO_HARD_TABS</a></H3><PRE>
895        <STRONG>Ncurses</STRONG> may use tabs as part of the cursor movement  optimization.   In
896        some  cases,  your  terminal driver may not handle these properly.  Set
897        this environment variable to disable the feature.  You can also  adjust
898        your <STRONG>stty</STRONG> settings to avoid the problem.
899
900
901 </PRE><H3><a name="h3-NCURSES_NO_MAGIC_COOKIE">NCURSES_NO_MAGIC_COOKIE</a></H3><PRE>
902        Some  terminals  use a magic-cookie feature which requires special han-
903        dling to make highlighting and other video attributes display properly.
904        You  can suppress the highlighting entirely for these terminals by set-
905        ting this environment variable.
906
907
908 </PRE><H3><a name="h3-NCURSES_NO_PADDING">NCURSES_NO_PADDING</a></H3><PRE>
909        Most of the terminal descriptions in the terminfo database are  written
910        for  real  "hardware"  terminals.   Many  people use terminal emulators
911        which run in a windowing environment and use curses-based applications.
912        Terminal  emulators  can  duplicate  all  of the important aspects of a
913        hardware terminal, but they do not  have  the  same  limitations.   The
914        chief  limitation  of  a  hardware terminal from the standpoint of your
915        application is the management of  dataflow,  i.e.,  timing.   Unless  a
916        hardware  terminal  is  interfaced  into a terminal concentrator (which
917        does flow control), it (or your application) must manage dataflow, pre-
918        venting overruns.  The cheapest solution (no hardware cost) is for your
919        program to do this by pausing after operations that the  terminal  does
920        slowly, such as clearing the display.
921
922        As  a  result,  many  terminal  descriptions (including the vt100) have
923        delay times embedded.  You may wish to use these descriptions, but  not
924        want to pay the performance penalty.
925
926        Set  the  NCURSES_NO_PADDING  environment  variable  to disable all but
927        mandatory padding.  Mandatory padding is used as a part of special con-
928        trol sequences such as <EM>flash</EM>.
929
930
931 </PRE><H3><a name="h3-NCURSES_NO_SETBUF">NCURSES_NO_SETBUF</a></H3><PRE>
932        This setting is obsolete.  Before changes
933
934           <STRONG>o</STRONG>   started with 5.9 patch 20120825 and
935
936           <STRONG>o</STRONG>   continued though 5.9 patch 20130126
937
938        <STRONG>ncurses</STRONG>  enabled  buffered output during terminal initialization.  This
939        was done (as in SVr4 curses) for performance reasons.  For testing pur-
940        poses,  both of <STRONG>ncurses</STRONG> and certain applications, this feature was made
941        optional.   Setting  the  NCURSES_NO_SETBUF  variable  disabled  output
942        buffering,  leaving  the output in the original (usually line buffered)
943        mode.
944
945        In the current implementation, ncurses performs its own  buffering  and
946        does  not require this workaround.  It does not modify the buffering of
947        the standard output.
948
949        The reason for the change was to make the behavior for  interrupts  and
950        other  signals  more  robust.   One drawback is that certain nonconven-
951        tional programs would mix ordinary stdio calls with ncurses  calls  and
952        (usually)  work.  This is no longer possible since ncurses is not using
953        the buffered standard output but its  own  output  (to  the  same  file
954        descriptor).  As a special case, the low-level calls such as <STRONG>putp</STRONG> still
955        use the standard output.  But high-level curses calls do not.
956
957
958 </PRE><H3><a name="h3-NCURSES_NO_UTF8_ACS">NCURSES_NO_UTF8_ACS</a></H3><PRE>
959        During initialization, the <STRONG>ncurses</STRONG> library  checks  for  special  cases
960        where VT100 line-drawing (and the corresponding alternate character set
961        capabilities) described in  the  terminfo  are  known  to  be  missing.
962        Specifically,  when running in a UTF-8 locale, the Linux console emula-
963        tor and the GNU screen program ignore these.  Ncurses checks  the  <STRONG>TERM</STRONG>
964        environment  variable  for  these.  For other special cases, you should
965        set this environment variable.  Doing this tells ncurses to use Unicode
966        values  which  correspond to the VT100 line-drawing glyphs.  That works
967        for the special cases cited, and is likely to work for terminal  emula-
968        tors.
969
970        When setting this variable, you should set it to a nonzero value.  Set-
971        ting it to zero (or to a nonnumber)  disables  the  special  check  for
972        "linux" and "screen".
973
974        As  an  alternative  to the environment variable, ncurses checks for an
975        extended terminfo capability <STRONG>U8</STRONG>.  This is a  numeric  capability  which
976        can be compiled using <STRONG>tic</STRONG> <STRONG>-x</STRONG>.  For example
977
978           # linux console, if patched to provide working
979           # VT100 shift-in/shift-out, with corresponding font.
980           linux-vt100|linux console with VT100 line-graphics,
981                   U8#0, use=linux,
982
983           # uxterm with vt100Graphics resource set to false
984           xterm-utf8|xterm relying on UTF-8 line-graphics,
985                   U8#1, use=xterm,
986
987        The  name  "U8" is chosen to be two characters, to permit it to be used
988        by applications that use ncurses' termcap interface.
989
990
991 </PRE><H3><a name="h3-NCURSES_TRACE">NCURSES_TRACE</a></H3><PRE>
992        During  initialization,  the  <STRONG>ncurses</STRONG>  debugging  library  checks   the
993        NCURSES_TRACE  environment  variable.   If  it is defined, to a numeric
994        value, <STRONG>ncurses</STRONG> calls the <STRONG>trace</STRONG> function, using that value as the  argu-
995        ment.
996
997        The  argument  values,  which  are defined in <STRONG>curses.h</STRONG>, provide several
998        types of information.  When running with traces enabled, your  applica-
999        tion will write the file <STRONG>trace</STRONG> to the current directory.
1000
1001        See <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG> for more information.
1002
1003
1004 </PRE><H3><a name="h3-TERM">TERM</a></H3><PRE>
1005        Denotes  your  terminal  type.   Each terminal type is distinct, though
1006        many are similar.
1007
1008        <STRONG>TERM</STRONG> is commonly set by terminal emulators to help applications find  a
1009        workable terminal description.  Some of those choose a popular approxi-
1010        mation, e.g., "ansi", "vt100", "xterm" rather than an exact  fit.   Not
1011        infrequently,  your  application will have problems with that approach,
1012        e.g., incorrect function-key definitions.
1013
1014        If you set <STRONG>TERM</STRONG> in your environment, it has no effect on the  operation
1015        of  the  terminal  emulator.  It only affects the way applications work
1016        within the terminal.  Likewise, as a general rule (<STRONG>xterm</STRONG> being  a  rare
1017        exception),  terminal  emulators  which  allow you to specify <STRONG>TERM</STRONG> as a
1018        parameter or configuration value do not change their behavior to  match
1019        that setting.
1020
1021
1022 </PRE><H3><a name="h3-TERMCAP">TERMCAP</a></H3><PRE>
1023        If  the  <STRONG>ncurses</STRONG>  library  has  been  configured  with <EM>termcap</EM> support,
1024        <STRONG>ncurses</STRONG> will check for a terminal's description in termcap form  if  it
1025        is not available in the terminfo database.
1026
1027        The <STRONG>TERMCAP</STRONG> environment variable contains either a terminal description
1028        (with newlines stripped out), or a file name telling where the informa-
1029        tion  denoted by the <STRONG>TERM</STRONG> environment variable exists.  In either case,
1030        setting it directs <STRONG>ncurses</STRONG> to ignore the usual place for this  informa-
1031        tion, e.g., /etc/termcap.
1032
1033
1034 </PRE><H3><a name="h3-TERMINFO">TERMINFO</a></H3><PRE>
1035        <STRONG>ncurses</STRONG>  can  be  configured  to read from multiple terminal databases.
1036        The <STRONG>TERMINFO</STRONG> variable overrides the location for the  default  terminal
1037        database.   Terminal  descriptions  (in  terminal format) are stored in
1038        terminal databases:
1039
1040        <STRONG>o</STRONG>   Normally these are stored in a directory tree, using subdirectories
1041            named by the first letter of the terminal names therein.
1042
1043            This is the scheme used in System V, which legacy Unix systems use,
1044            and the <STRONG>TERMINFO</STRONG> variable is used by <EM>curses</EM> applications  on  those
1045            systems to override the default location of the terminal database.
1046
1047        <STRONG>o</STRONG>   If  <STRONG>ncurses</STRONG>  is  built  to use hashed databases, then each entry in
1048            this list may be the path of a hashed database file, e.g.,
1049
1050              /usr/share/terminfo.db
1051
1052            rather than
1053
1054              /usr/share/terminfo/
1055
1056            The hashed database uses less disk-space and  is  a  little  faster
1057            than  the  directory  tree.   However, some applications assume the
1058            existence of the directory tree, reading it  directly  rather  than
1059            using the terminfo library calls.
1060
1061        <STRONG>o</STRONG>   If  <STRONG>ncurses</STRONG>  is  built  with  a  support  for reading termcap files
1062            directly, then an entry in this list may be the path of  a  termcap
1063            file.
1064
1065        <STRONG>o</STRONG>   If the <STRONG>TERMINFO</STRONG> variable begins with "hex:" or "b64:", <STRONG>ncurses</STRONG> uses
1066            the remainder of that variable as a compiled terminal  description.
1067            You might produce the base64 format using <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>:
1068
1069              TERMINFO="$(infocmp -0 -Q2 -q)"
1070              export TERMINFO
1071
1072            The  compiled description is used if it corresponds to the terminal
1073            identified by the <STRONG>TERM</STRONG> variable.
1074
1075        Setting <STRONG>TERMINFO</STRONG> is the simplest, but not the only way to set  location
1076        of  the default terminal database.  The complete list of database loca-
1077        tions in order follows:
1078
1079           <STRONG>o</STRONG>   the last terminal database to which <STRONG>ncurses</STRONG> wrote,  if  any,  is
1080               searched first
1081
1082           <STRONG>o</STRONG>   the location specified by the TERMINFO environment variable
1083
1084           <STRONG>o</STRONG>   $HOME/.terminfo
1085
1086           <STRONG>o</STRONG>   locations listed in the TERMINFO_DIRS environment variable
1087
1088           <STRONG>o</STRONG>   one  or  more  locations whose names are configured and compiled
1089               into the ncurses library, i.e.,
1090
1091              <STRONG>o</STRONG>   /usr/local/ncurses/share/terminfo:/usr/share/terminfo (corre-
1092                  sponding to the TERMINFO_DIRS variable)
1093
1094              <STRONG>o</STRONG>   /usr/share/terminfo (corresponding to the TERMINFO variable)
1095
1096
1097 </PRE><H3><a name="h3-TERMINFO_DIRS">TERMINFO_DIRS</a></H3><PRE>
1098        Specifies  a  list  of  locations  to search for terminal descriptions.
1099        Each location in the list is a terminal database as  described  in  the
1100        section  on  the  <STRONG>TERMINFO</STRONG>  variable.   The list is separated by colons
1101        (i.e., ":") on Unix, semicolons on OS/2 EMX.
1102
1103        There is no corresponding feature in System V terminfo; it is an exten-
1104        sion developed for <STRONG>ncurses</STRONG>.
1105
1106
1107 </PRE><H3><a name="h3-TERMPATH">TERMPATH</a></H3><PRE>
1108        If  <STRONG>TERMCAP</STRONG>  does not hold a file name then <STRONG>ncurses</STRONG> checks the <STRONG>TERMPATH</STRONG>
1109        environment variable.  This is a list of filenames separated by  spaces
1110        or colons (i.e., ":") on Unix, semicolons on OS/2 EMX.
1111
1112        If  the  <STRONG>TERMPATH</STRONG> environment variable is not set, <STRONG>ncurses</STRONG> looks in the
1113        files
1114
1115          /etc/termcap, /usr/share/misc/termcap and $HOME/.termcap,
1116
1117        in that order.
1118
1119        The library may be configured to disregard the following variables when
1120        the  current  user  is the superuser (root), or if the application uses
1121        setuid or setgid permissions:
1122
1123          $TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as $HOME.
1124
1125
1126 </PRE><H2><a name="h2-ALTERNATE-CONFIGURATIONS">ALTERNATE CONFIGURATIONS</a></H2><PRE>
1127        Several different configurations are possible, depending on the config-
1128        ure  script  options  used when building <STRONG>ncurses</STRONG>.  There are a few main
1129        options whose effects are visible to the applications  developer  using
1130        <STRONG>ncurses</STRONG>:
1131
1132        --disable-overwrite
1133             The standard include for <STRONG>ncurses</STRONG> is as noted in <STRONG>SYNOPSIS</STRONG>:
1134
1135               <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
1136
1137             This  option  is  used to avoid filename conflicts when <STRONG>ncurses</STRONG> is
1138             not the main implementation of curses of the computer.  If <STRONG>ncurses</STRONG>
1139             is  installed disabling overwrite, it puts its headers in a subdi-
1140             rectory, e.g.,
1141
1142               <STRONG>#include</STRONG> <STRONG>&lt;ncurses/curses.h&gt;</STRONG>
1143
1144             It also omits a  symbolic  link  which  would  allow  you  to  use
1145             <STRONG>-lcurses</STRONG> to build executables.
1146
1147        --enable-widec
1148             The  configure  script  renames  the  library  and  (if the <STRONG>--dis-</STRONG>
1149             <STRONG>able-overwrite</STRONG> option is used) puts the header files in a  differ-
1150             ent subdirectory.  All of the library names have a "w" appended to
1151             them, i.e., instead of
1152
1153               <STRONG>-lncurses</STRONG>
1154
1155             you link with
1156
1157               <STRONG>-lncursesw</STRONG>
1158
1159             You must also define <STRONG>_XOPEN_SOURCE_EXTENDED</STRONG> when compiling for the
1160             wide-character  library to use the extended (wide-character) func-
1161             tions.  The <STRONG>curses.h</STRONG> file which is installed for the  wide-charac-
1162             ter library is designed to be compatible with the normal library's
1163             header.  Only the size of the <STRONG>WINDOW</STRONG> structure differs,  and  very
1164             few  applications  require more than a pointer to <STRONG>WINDOW</STRONG>s.  If the
1165             headers  are  installed  allowing  overwrite,  the  wide-character
1166             library's  headers should be installed last, to allow applications
1167             to be built using either library from the same set of headers.
1168
1169        --with-pthread
1170             The configure script renames the  library.   All  of  the  library
1171             names  have  a  "t"  appended  to  them  (before  any "w" added by
1172             <STRONG>--enable-widec</STRONG>).
1173
1174             The global variables such as <STRONG>LINES</STRONG> are replaced by macros to allow
1175             read-only access.  At the same time, setter-functions are provided
1176             to set these values.  Some applications  (very  few)  may  require
1177             changes to work with this convention.
1178
1179        --with-shared
1180
1181        --with-normal
1182
1183        --with-debug
1184
1185        --with-profile
1186             The  shared and normal (static) library names differ by their suf-
1187             fixes, e.g., <STRONG>libncurses.so</STRONG> and <STRONG>libncurses.a</STRONG>.  The debug  and  pro-
1188             filing  libraries  add a "_g" and a "_p" to the root names respec-
1189             tively, e.g., <STRONG>libncurses_g.a</STRONG> and <STRONG>libncurses_p.a</STRONG>.
1190
1191        --with-trace
1192             The <STRONG>trace</STRONG> function normally resides in the debug library,  but  it
1193             is sometimes useful to configure this in the shared library.  Con-
1194             figure scripts should check for the  function's  existence  rather
1195             than assuming it is always in the debug library.
1196
1197
1198 </PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
1199        /usr/share/tabset
1200             directory  containing  initialization files for the terminal capa-
1201             bility database /usr/share/terminfo terminal capability database
1202
1203
1204 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
1205        <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> and related pages whose names begin  "curs_"  for  detailed
1206        routine descriptions.
1207        <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
1208        <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG> for user-defined capabilities
1209
1210
1211 </PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
1212        The  <STRONG>ncurses</STRONG> library can be compiled with an option (<STRONG>-DUSE_GETCAP</STRONG>) that
1213        falls back to the old-style /etc/termcap file  if  the  terminal  setup
1214        code  cannot  find a terminfo entry corresponding to <STRONG>TERM</STRONG>.  Use of this
1215        feature is not recommended, as it essentially includes an entire  term-
1216        cap  compiler  in the <STRONG>ncurses</STRONG> startup code, at significant cost in core
1217        and startup cycles.
1218
1219        The <STRONG>ncurses</STRONG> library includes facilities for capturing mouse  events  on
1220        certain  terminals  (including  xterm).   See the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual
1221        page for details.
1222
1223        The <STRONG>ncurses</STRONG> library includes facilities for responding to window resiz-
1224        ing events, e.g., when running in an xterm.  See the <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> and
1225        <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> manual pages for details.  In addition, the library may  be
1226        configured with a <STRONG>SIGWINCH</STRONG> handler.
1227
1228        The  <STRONG>ncurses</STRONG> library extends the fixed set of function key capabilities
1229        of terminals by allowing the application designer to define  additional
1230        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
1231        <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG> manual pages for details.
1232
1233        The <STRONG>ncurses</STRONG> library can exploit the  capabilities  of  terminals  which
1234        implement  the  ISO-6429  SGR  39  and  SGR 49 controls, which allow an
1235        application to reset the terminal to its original foreground and  back-
1236        ground colors.  From the users' perspective, the application is able to
1237        draw colored text on a background whose  color  is  set  independently,
1238        providing  better  control  over color contrasts.  See the <STRONG>default_col-</STRONG>
1239        <STRONG><A HREF="default_colors.3x.html">ors(3x)</A></STRONG> manual page for details.
1240
1241        The <STRONG>ncurses</STRONG> library includes a function for directing application  out-
1242        put   to   a   printer  attached  to  the  terminal  device.   See  the
1243        <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual page for details.
1244
1245
1246 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
1247        The <STRONG>ncurses</STRONG> library is intended to be BASE-level  conformant  with  XSI
1248        Curses.   The  EXTENDED  XSI Curses functionality (including color sup-
1249        port) is supported.
1250
1251        A small number of local differences (that  is,  individual  differences
1252        between  the XSI Curses and <STRONG>ncurses</STRONG> calls) are described in <STRONG>PORTABILITY</STRONG>
1253        sections of the library man pages.
1254
1255        Unlike other implementations, this one checks parameters such as point-
1256        ers  to WINDOW structures to ensure they are not null.  The main reason
1257        for providing this behavior is to guard against programmer error.   The
1258        standard  interface  does  not provide a way for the library to tell an
1259        application which of several possible errors were detected.  Relying on
1260        this (or some other) extension will adversely affect the portability of
1261        curses applications.
1262
1263        This implementation also contains several extensions:
1264
1265        <STRONG>o</STRONG>   The routine <STRONG>has_key</STRONG> is not part of XPG4, nor is it present in SVr4.
1266            See the <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> manual page for details.
1267
1268        <STRONG>o</STRONG>   The  routine  <STRONG>slk_attr</STRONG>  is  not  part of XPG4, nor is it present in
1269            SVr4.  See the <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> manual page for details.
1270
1271        <STRONG>o</STRONG>   The routines <STRONG>getmouse</STRONG>, <STRONG>mousemask</STRONG>,  <STRONG>ungetmouse</STRONG>,  <STRONG>mouseinterval</STRONG>,  and
1272            <STRONG>wenclose</STRONG>  relating  to  mouse interfacing are not part of XPG4, nor
1273            are they present in SVr4.  See the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual  page  for
1274            details.
1275
1276        <STRONG>o</STRONG>   The  routine  <STRONG>mcprint</STRONG> was not present in any previous curses imple-
1277            mentation.  See the <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual page for details.
1278
1279        <STRONG>o</STRONG>   The routine <STRONG>wresize</STRONG> is not part of XPG4, nor is it present in SVr4.
1280            See the <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> manual page for details.
1281
1282        <STRONG>o</STRONG>   The WINDOW structure's internal details can be hidden from applica-
1283            tion programs.  See <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG> for the discussion of <STRONG>is_scrol-</STRONG>
1284            <STRONG>lok</STRONG>, etc.
1285
1286        <STRONG>o</STRONG>   This  implementation  can be configured to provide rudimentary sup-
1287            port for multi-threaded  applications.   See  <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>  for
1288            details.
1289
1290        <STRONG>o</STRONG>   This  implementation  can  also  be  configured to provide a set of
1291            functions which improve the ability  to  manage  multiple  screens.
1292            See <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> for details.
1293
1294        In  historic  curses  versions, delays embedded in the capabilities <STRONG>cr</STRONG>,
1295        <STRONG>ind</STRONG>, <STRONG>cub1</STRONG>, <STRONG>ff</STRONG> and <STRONG>tab</STRONG> activated corresponding delay bits  in  the  UNIX
1296        tty driver.  In this implementation, all padding is done by sending NUL
1297        bytes.  This method is slightly more expensive, but narrows the  inter-
1298        face  to  the  UNIX  kernel  significantly  and increases the package's
1299        portability correspondingly.
1300
1301
1302 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
1303        The header file <STRONG>&lt;curses.h&gt;</STRONG>  automatically  includes  the  header  files
1304        <STRONG>&lt;stdio.h&gt;</STRONG> and <STRONG>&lt;unctrl.h&gt;</STRONG>.
1305
1306        If  standard  output from a <STRONG>ncurses</STRONG> program is re-directed to something
1307        which is not a tty, screen updates will be directed to standard  error.
1308        This was an undocumented feature of AT&amp;T System V Release 3 curses.
1309
1310
1311 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
1312        Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey.  Based on pcurses
1313        by Pavel Curtis.
1314
1315
1316
1317                                                                    <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
1318 </PRE>
1319 <div class="nav">
1320 <ul>
1321 <li><a href="#h2-NAME">NAME</a></li>
1322 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
1323 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
1324 <ul>
1325 <li><a href="#h3-Initialization">Initialization</a></li>
1326 <li><a href="#h3-Datatypes">Datatypes</a></li>
1327 <li><a href="#h3-Environment-variables">Environment variables</a></li>
1328 <li><a href="#h3-Routine-and-Argument-Names">Routine and Argument Names</a></li>
1329 <li><a href="#h3-Routine-Name-Index">Routine Name Index</a></li>
1330 </ul>
1331 </li>
1332 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
1333 <li><a href="#h2-ENVIRONMENT">ENVIRONMENT</a>
1334 <ul>
1335 <li><a href="#h3-CC-command-character">CC command-character</a></li>
1336 <li><a href="#h3-BAUDRATE">BAUDRATE</a></li>
1337 <li><a href="#h3-COLUMNS">COLUMNS</a></li>
1338 <li><a href="#h3-ESCDELAY">ESCDELAY</a></li>
1339 <li><a href="#h3-HOME">HOME</a></li>
1340 <li><a href="#h3-LINES">LINES</a></li>
1341 <li><a href="#h3-MOUSE_BUTTONS_123">MOUSE_BUTTONS_123</a></li>
1342 <li><a href="#h3-NCURSES_ASSUMED_COLORS">NCURSES_ASSUMED_COLORS</a></li>
1343 <li><a href="#h3-NCURSES_CONSOLE2">NCURSES_CONSOLE2</a></li>
1344 <li><a href="#h3-NCURSES_GPM_TERMS">NCURSES_GPM_TERMS</a></li>
1345 <li><a href="#h3-NCURSES_NO_HARD_TABS">NCURSES_NO_HARD_TABS</a></li>
1346 <li><a href="#h3-NCURSES_NO_MAGIC_COOKIE">NCURSES_NO_MAGIC_COOKIE</a></li>
1347 <li><a href="#h3-NCURSES_NO_PADDING">NCURSES_NO_PADDING</a></li>
1348 <li><a href="#h3-NCURSES_NO_SETBUF">NCURSES_NO_SETBUF</a></li>
1349 <li><a href="#h3-NCURSES_NO_UTF8_ACS">NCURSES_NO_UTF8_ACS</a></li>
1350 <li><a href="#h3-NCURSES_TRACE">NCURSES_TRACE</a></li>
1351 <li><a href="#h3-TERM">TERM</a></li>
1352 <li><a href="#h3-TERMCAP">TERMCAP</a></li>
1353 <li><a href="#h3-TERMINFO">TERMINFO</a></li>
1354 <li><a href="#h3-TERMINFO_DIRS">TERMINFO_DIRS</a></li>
1355 <li><a href="#h3-TERMPATH">TERMPATH</a></li>
1356 </ul>
1357 </li>
1358 <li><a href="#h2-ALTERNATE-CONFIGURATIONS">ALTERNATE CONFIGURATIONS</a></li>
1359 <li><a href="#h2-FILES">FILES</a></li>
1360 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
1361 <li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
1362 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
1363 <li><a href="#h2-NOTES">NOTES</a></li>
1364 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
1365 </ul>
1366 </div>
1367 </BODY>
1368 </HTML>