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