]> ncurses.scripts.mit.edu Git - ncurses.git/blob - doc/html/man/curs_util.3x.html
ncurses 6.4 - patch 20230715
[ncurses.git] / doc / html / man / curs_util.3x.html
1 <!--
2   * t
3   ****************************************************************************
4   * Copyright 2018-2022,2023 Thomas E. Dickey                                *
5   * Copyright 1998-2015,2017 Free Software Foundation, Inc.                  *
6   *                                                                          *
7   * Permission is hereby granted, free of charge, to any person obtaining a  *
8   * copy of this software and associated documentation files (the            *
9   * "Software"), to deal in the Software without restriction, including      *
10   * without limitation the rights to use, copy, modify, merge, publish,      *
11   * distribute, distribute with modifications, sublicense, and/or sell       *
12   * copies of the Software, and to permit persons to whom the Software is    *
13   * furnished to do so, subject to the following conditions:                 *
14   *                                                                          *
15   * The above copyright notice and this permission notice shall be included  *
16   * in all copies or substantial portions of the Software.                   *
17   *                                                                          *
18   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
19   * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
20   * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
21   * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
22   * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
23   * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
24   * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
25   *                                                                          *
26   * Except as contained in this notice, the name(s) of the above copyright   *
27   * holders shall not be used in advertising or otherwise to promote the     *
28   * sale, use or other dealings in this Software without prior written       *
29   * authorization.                                                           *
30   ****************************************************************************
31   * @Id: curs_util.3x,v 1.71 2023/07/15 18:01:08 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>curs_util 3x 2023-07-15 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">curs_util 3x 2023-07-15 ncurses 6.4 Library calls</H1>
44 <PRE>
45 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>                    Library calls                   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
46
47
48
49
50 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
51        <STRONG>delay_output</STRONG>, <STRONG>filter</STRONG>, <STRONG>flushinp</STRONG>, <STRONG>getwin</STRONG>, <STRONG>key_name</STRONG>, <STRONG>keyname</STRONG>, <STRONG>nofilter</STRONG>,
52        <STRONG>putwin</STRONG>, <STRONG>unctrl</STRONG>, <STRONG>use_env</STRONG>, <STRONG>use_tioctl</STRONG>, <STRONG>wunctrl</STRONG> - miscellaneous <STRONG>curses</STRONG>
53        utility routines
54
55
56 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
57        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
58
59        <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*unctrl(chtype</STRONG> <EM>c</EM><STRONG>);</STRONG>
60        <STRONG>wchar_t</STRONG> <STRONG>*wunctrl(cchar_t</STRONG> <STRONG>*</STRONG><EM>c</EM><STRONG>);</STRONG>
61
62        <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*keyname(int</STRONG> <EM>c</EM><STRONG>);</STRONG>
63        <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*key_name(wchar_t</STRONG> <EM>w</EM><STRONG>);</STRONG>
64
65        <STRONG>void</STRONG> <STRONG>filter(void);</STRONG>
66        <STRONG>void</STRONG> <STRONG>nofilter(void);</STRONG>
67
68        <STRONG>void</STRONG> <STRONG>use_env(bool</STRONG> <EM>f</EM><STRONG>);</STRONG>
69        <STRONG>void</STRONG> <STRONG>use_tioctl(bool</STRONG> <EM>f</EM><STRONG>);</STRONG>
70
71        <STRONG>int</STRONG> <STRONG>putwin(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>FILE</STRONG> <STRONG>*</STRONG><EM>filep</EM><STRONG>);</STRONG>
72        <STRONG>WINDOW</STRONG> <STRONG>*getwin(FILE</STRONG> <STRONG>*</STRONG><EM>filep</EM><STRONG>);</STRONG>
73
74        <STRONG>int</STRONG> <STRONG>delay_output(int</STRONG> <EM>ms</EM><STRONG>);</STRONG>
75        <STRONG>int</STRONG> <STRONG>flushinp(void);</STRONG>
76
77
78 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
79
80 </PRE><H3><a name="h3-unctrl">unctrl</a></H3><PRE>
81        The <STRONG>unctrl</STRONG> routine returns a character string which is a printable rep-
82        resentation of the character <EM>c</EM>:
83
84        <STRONG>o</STRONG>   Printable characters are displayed as themselves, e.g., a one-char-
85            acter string containing the key.
86
87        <STRONG>o</STRONG>   Control characters are displayed in the <STRONG>^</STRONG><EM>X</EM> notation.
88
89        <STRONG>o</STRONG>   Printing characters are displayed as is.
90
91        <STRONG>o</STRONG>   DEL (character 127) is displayed as <STRONG>^?</STRONG>.
92
93        <STRONG>o</STRONG>   Values  above 128 are either meta characters (if the screen has not
94            been initialized, or if <STRONG><A HREF="curs_inopts.3x.html">meta(3x)</A></STRONG> has been called with a <STRONG>TRUE</STRONG> param-
95            eter),  shown  in the <STRONG>M-</STRONG><EM>X</EM> notation, or are displayed as themselves.
96            In the latter case, the values may not be printable;  this  follows
97            the X/Open specification.
98
99        The  corresponding <STRONG>wunctrl</STRONG> returns a printable representation of a com-
100        plex character <EM>c</EM>.
101
102        In both <STRONG>unctrl</STRONG> and <STRONG>wunctrl</STRONG> the attributes and color associated with the
103        character parameter are ignored.
104
105
106 </PRE><H3><a name="h3-keyname_key_name">keyname/key_name</a></H3><PRE>
107        The <STRONG>keyname</STRONG> routine returns a character string corresponding to the key
108        <EM>c</EM>.  Key codes are different from character codes.
109
110        <STRONG>o</STRONG>   Key codes below 256 are characters.  They are displayed using  <STRONG>unc-</STRONG>
111            <STRONG>trl</STRONG>.
112
113        <STRONG>o</STRONG>   Values  above 256 may be the codes for function keys.  The function
114            key name is displayed.
115
116        <STRONG>o</STRONG>   Otherwise (if there is no corresponding name and the key is  not  a
117            character)  the  function returns null, to denote an error.  X/Open
118            also lists an "UNKNOWN KEY" return value,  which  some  implementa-
119            tions return rather than null.
120
121        The  corresponding <STRONG>key_name</STRONG> returns a multibyte character string corre-
122        sponding to the wide-character value <EM>w</EM>.  The two functions (<STRONG>keyname</STRONG> and
123        <STRONG>key_name</STRONG>) do not return the same set of strings:
124
125        <STRONG>o</STRONG>   <STRONG>keyname</STRONG> returns null where <STRONG>key_name</STRONG> would display a meta character.
126
127        <STRONG>o</STRONG>   <STRONG>key_name</STRONG> does not return the name of a function key.
128
129
130 </PRE><H3><a name="h3-filter_nofilter">filter/nofilter</a></H3><PRE>
131        The  <STRONG>filter</STRONG>  routine, if used, must be called before <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>
132        are called.  Calling <STRONG>filter</STRONG> causes these changes in initialization:
133
134        <STRONG>o</STRONG>   <STRONG>LINES</STRONG> is set to 1;
135
136        <STRONG>o</STRONG>   the capabilities <STRONG>clear</STRONG>, <STRONG>cud1</STRONG>, <STRONG>cud</STRONG>, <STRONG>cup</STRONG>, <STRONG>cuu1</STRONG>,  <STRONG>cuu</STRONG>,  <STRONG>vpa</STRONG>  are  dis-
137            abled;
138
139        <STRONG>o</STRONG>   the capability <STRONG>ed</STRONG> is disabled if <STRONG>bce</STRONG> is set;
140
141        <STRONG>o</STRONG>   and the <STRONG>home</STRONG> string is set to the value of <STRONG>cr</STRONG>.
142
143        The  <STRONG>nofilter</STRONG>  routine  cancels  the effect of a preceding <STRONG>filter</STRONG> call.
144        That allows the caller to initialize a screen on  a  different  device,
145        using  a  different  value of <STRONG>$TERM</STRONG>.  The limitation arises because the
146        <STRONG>filter</STRONG> routine modifies the in-memory copy of the terminal information.
147
148
149 </PRE><H3><a name="h3-use_env">use_env</a></H3><PRE>
150        The <STRONG>use_env</STRONG> routine, if  used,  should  be  called  before  <STRONG>initscr</STRONG>  or
151        <STRONG>newterm</STRONG>  are  called (because those compute the screen size).  It modi-
152        fies the way <STRONG>ncurses</STRONG> treats environment variables when determining  the
153        screen size.
154
155        <STRONG>o</STRONG>   Normally  <STRONG>ncurses</STRONG>  looks  first  at  the  terminal database for the
156            screen size.
157
158            If <STRONG>use_env</STRONG> was called with <STRONG>FALSE</STRONG> for parameter, it stops  here  un-
159            less <STRONG>use_tioctl</STRONG> was also called with <STRONG>TRUE</STRONG> for parameter.
160
161        <STRONG>o</STRONG>   Then  it  asks  for the screen size via operating system calls.  If
162            successful, it overrides the values from the terminal database.
163
164        <STRONG>o</STRONG>   Finally (unless <STRONG>use_env</STRONG> was called with <STRONG>FALSE</STRONG>  parameter),  <STRONG>ncurses</STRONG>
165            examines  the <STRONG>LINES</STRONG> or <STRONG>COLUMNS</STRONG> environment variables, using a value
166            in those to override the results from the operating system or  ter-
167            minal database.
168
169            <STRONG>Ncurses</STRONG>  also  updates the screen size in response to <STRONG>SIGWINCH</STRONG>, un-
170            less overridden by the <STRONG>LINES</STRONG> or <STRONG>COLUMNS</STRONG> environment variables,
171
172
173 </PRE><H3><a name="h3-use_tioctl">use_tioctl</a></H3><PRE>
174        The <STRONG>use_tioctl</STRONG> routine, if used, should be  called  before  <STRONG>initscr</STRONG>  or
175        <STRONG>newterm</STRONG>  are  called  (because  those  compute the screen size).  After
176        <STRONG>use_tioctl</STRONG> is called with <STRONG>TRUE</STRONG> as an  argument,  <STRONG>ncurses</STRONG>  modifies  the
177        last step in its computation of screen size as follows:
178
179        <STRONG>o</STRONG>   checks  if the <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> environment variables are set to a
180            number greater than zero.
181
182        <STRONG>o</STRONG>   for each, <STRONG>ncurses</STRONG> updates the  corresponding  environment  variable
183            with  the  value  that it has obtained via operating system call or
184            from the terminal database.
185
186        <STRONG>o</STRONG>   <STRONG>ncurses</STRONG> re-fetches the value of the environment variables  so  that
187            it is still the environment variables which set the screen size.
188
189        The <STRONG>use_env</STRONG> and <STRONG>use_tioctl</STRONG> routines combine as summarized here:
190
191            <STRONG>use_env</STRONG>   <STRONG>use_tioctl</STRONG>   <STRONG>Summary</STRONG>
192            ----------------------------------------------------------------
193            TRUE      FALSE        This  is  the default behavior.  <STRONG>ncurses</STRONG>
194                                   uses operating system calls unless over-
195                                   ridden by $LINES or $COLUMNS environment
196                                   variables.
197            TRUE      TRUE         <STRONG>ncurses</STRONG>  updates  $LINES  and   $COLUMNS
198                                   based on operating system calls.
199            FALSE     TRUE         <STRONG>ncurses</STRONG> ignores $LINES and $COLUMNS, us-
200                                   es  operating  system  calls  to  obtain
201                                   size.
202            FALSE     FALSE        <STRONG>ncurses</STRONG>  relies on the terminal database
203                                   to determine size.
204
205
206 </PRE><H3><a name="h3-putwin_getwin">putwin/getwin</a></H3><PRE>
207        The <STRONG>putwin</STRONG> routine writes all data associated with window (or pad)  <EM>win</EM>
208        into the file to which <EM>filep</EM> points.  This information can be later re-
209        trieved using the <STRONG>getwin</STRONG> function.
210
211        The <STRONG>getwin</STRONG> routine reads window related data  stored  in  the  file  by
212        <STRONG>putwin</STRONG>.   The  routine  then creates and initializes a new window using
213        that data.  It returns a pointer to the new window.  There  are  a  few
214        caveats:
215
216        <STRONG>o</STRONG>   the data written is a copy of the <STRONG>WINDOW</STRONG> structure, and its associ-
217            ated character cells.  The format differs between the  wide-charac-
218            ter  (<STRONG>ncursesw</STRONG>) and non-wide (<STRONG>ncurses</STRONG>) libraries.  You can transfer
219            data between the two, however.
220
221        <STRONG>o</STRONG>   the retrieved window is always created as a  top-level  window  (or
222            pad), rather than a subwindow.
223
224        <STRONG>o</STRONG>   the  window's character cells contain the color pair <EM>value</EM>, but not
225            the actual color <EM>numbers</EM>.  If cells in  the  retrieved  window  use
226            color  pairs  which  have not been created in the application using
227            <STRONG>init_pair</STRONG>, they will not be colored when the window is refreshed.
228
229
230 </PRE><H3><a name="h3-delay_output">delay_output</a></H3><PRE>
231        The <STRONG>delay_output</STRONG> routine inserts an <EM>ms</EM>  millisecond  pause  in  output.
232        This  routine should not be used extensively because padding characters
233        are used rather than a CPU pause.  If no padding  character  is  speci-
234        fied, this uses <STRONG>napms</STRONG> to perform the delay.
235
236
237 </PRE><H3><a name="h3-flushinp">flushinp</a></H3><PRE>
238        The  <STRONG>flushinp</STRONG>  routine throws away any typeahead that has been typed by
239        the user and has not yet been read by the program.
240
241
242 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
243        Except for <STRONG>flushinp</STRONG>, routines that return an integer  return  <STRONG>ERR</STRONG>  upon
244        failure  and <STRONG>OK</STRONG> (SVr4 specifies only "an integer value other than <STRONG>ERR</STRONG>")
245        upon successful completion.
246
247        Routines that return pointers return <STRONG>NULL</STRONG> on error.
248
249        X/Open does not define any error conditions.  In this implementation
250
251           <STRONG>flushinp</STRONG>
252                returns an error if the terminal was not initialized.
253
254           <STRONG>putwin</STRONG>
255                returns an error if the associated <STRONG>fwrite</STRONG> calls return  an  er-
256                ror.
257
258
259 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
260
261 </PRE><H3><a name="h3-filter">filter</a></H3><PRE>
262        The  SVr4  documentation  describes  the  action  of <STRONG>filter</STRONG> only in the
263        vaguest terms.  The description here is adapted  from  the  XSI  Curses
264        standard (which erroneously fails to describe the disabling of <STRONG>cuu</STRONG>).
265
266
267 </PRE><H3><a name="h3-keyname">keyname</a></H3><PRE>
268        The  <STRONG>keyname</STRONG> function may return the names of user-defined string capa-
269        bilities which are defined in the terminfo entry via the <STRONG>-x</STRONG>  option  of
270        <STRONG>tic</STRONG>.  This implementation automatically assigns at run-time keycodes to
271        user-defined strings which begin  with  "k".   The  keycodes  start  at
272        KEY_MAX, but are not guaranteed to be the same value for different runs
273        because user-defined codes are merged from  all  terminal  descriptions
274        which  have  been loaded.  The <STRONG><A HREF="curs_extend.3x.html">use_extended_names(3x)</A></STRONG> function controls
275        whether this data is loaded when the terminal description  is  read  by
276        the library.
277
278
279 </PRE><H3><a name="h3-nofilter_use_tioctl">nofilter/use_tioctl</a></H3><PRE>
280        The  <STRONG>nofilter</STRONG>  and  <STRONG>use_tioctl</STRONG>  routines are specific to <STRONG>ncurses</STRONG>.  They
281        were not supported on Version 7, BSD or System V  implementations.   It
282        is  recommended that any code depending on <STRONG>ncurses</STRONG> extensions be condi-
283        tioned using NCURSES_VERSION.
284
285
286 </PRE><H3><a name="h3-putwin_getwin-file-format">putwin/getwin file-format</a></H3><PRE>
287        The <STRONG>putwin</STRONG> and <STRONG>getwin</STRONG> functions have several issues with portability:
288
289        <STRONG>o</STRONG>   The files written and read by these functions  use  an  implementa-
290            tion-specific format.  Although the format is an obvious target for
291            standardization, it has been overlooked.
292
293            Interestingly enough, according to the copyright dates  in  Solaris
294            source,  the  functions (along with <STRONG>scr_init</STRONG>, etc.) originated with
295            the University of California, Berkeley (in 1982) and were later (in
296            1988)  incorporated  into SVr4.  Oddly, there are no such functions
297            in the 4.3BSD curses sources.
298
299        <STRONG>o</STRONG>   Most implementations simply dump the binary <STRONG>WINDOW</STRONG> structure to the
300            file.   These  include SVr4 curses, NetBSD and PDCurses, as well as
301            older <STRONG>ncurses</STRONG> versions.  This implementation (as well as the X/Open
302            variant of Solaris curses, dated 1995) uses textual dumps.
303
304            The  implementations  which  use  binary  dumps  use block-I/O (the
305            <STRONG>fwrite</STRONG> and <STRONG>fread</STRONG> functions).  Those  that  use  textual  dumps  use
306            buffered-I/O.  A few applications may happen to write extra data in
307            the file using these functions.  Doing that can run  into  problems
308            mixing  block-  and  buffered-I/O.  This implementation reduces the
309            problem on writes by flushing the output.  However, reading from  a
310            file written using mixed schemes may not be successful.
311
312
313 </PRE><H3><a name="h3-unctrl_wunctrl">unctrl/wunctrl</a></H3><PRE>
314        The  XSI Curses standard, Issue 4 describes these functions.  It states
315        that <STRONG>unctrl</STRONG> and <STRONG>wunctrl</STRONG> will return a null pointer if unsuccessful, but
316        does  not  define any error conditions.  This implementation checks for
317        three cases:
318
319        <STRONG>o</STRONG>   the parameter is a 7-bit US-ASCII code.   This  is  the  case  that
320            X/Open Curses documented.
321
322        <STRONG>o</STRONG>   the parameter is in the range 128-159, i.e., a C1 control code.  If
323            <STRONG><A HREF="legacy_coding.3x.html">use_legacy_coding(3x)</A></STRONG> has been called with a  <STRONG>2</STRONG>  parameter,  <STRONG>unctrl</STRONG>
324            returns the parameter, i.e., a one-character string with the param-
325            eter as the first character.  Otherwise,  it  returns  "~@",  "~A",
326            etc., analogous to "^@", "^A", C0 controls.
327
328            X/Open Curses does not document whether <STRONG>unctrl</STRONG> can be called before
329            initializing curses.  This implementation permits that, and returns
330            the "~@", etc., values in that case.
331
332        <STRONG>o</STRONG>   parameter values outside the 0 to 255 range.  <STRONG>unctrl</STRONG> returns a null
333            pointer.
334
335        The strings returned by <STRONG>unctrl</STRONG> in this implementation are determined at
336        compile  time,  showing C1 controls from the upper-128 codes with a "~"
337        prefix rather than "^".  Other implementations have  different  conven-
338        tions.  For example, they may show both sets of control characters with
339        "^", and strip the parameter to 7 bits.  Or they may ignore C1 controls
340        and treat all of the upper-128 codes as printable.  This implementation
341        uses 8 bits but does not modify the  string  to  reflect  locale.   The
342        <STRONG><A HREF="legacy_coding.3x.html">use_legacy_coding(3x)</A></STRONG>  function  allows the caller to change the output
343        of <STRONG>unctrl</STRONG>.
344
345        Likewise, the <STRONG><A HREF="curs_inopts.3x.html">meta(3x)</A></STRONG> function allows the caller to change the  output
346        of  <STRONG>keyname</STRONG>,  i.e.,  it  determines  whether to use the "M-" prefix for
347        "meta" keys (codes in the range  128  to  255).   Both  <STRONG>use_legacy_cod-</STRONG>
348        <STRONG><A HREF="use_legacy_coding.3x.html">ing(3x)</A></STRONG>  and <STRONG><A HREF="curs_inopts.3x.html">meta(3x)</A></STRONG> succeed only after curses is initialized.  X/Open
349        Curses does not document the treatment  of  codes  128  to  159.   When
350        treating them as "meta" keys (or if <STRONG>keyname</STRONG> is called before initializ-
351        ing curses), this implementation returns strings "M-^@", "M-^A", etc.
352
353        X/Open Curses documents <STRONG>unctrl</STRONG> as declared in <STRONG>&lt;unctrl.h&gt;</STRONG>, which <STRONG>ncurses</STRONG>
354        does.   However,  <STRONG>ncurses</STRONG>' <STRONG>&lt;curses.h&gt;</STRONG> includes <STRONG>&lt;unctrl.h&gt;</STRONG>, matching the
355        behavior of SVr4 curses.  Other implementations may not do that.
356
357
358 </PRE><H3><a name="h3-use_env_use_tioctl">use_env/use_tioctl</a></H3><PRE>
359        If <STRONG>ncurses</STRONG> is configured to provide  the  sp-functions  extension,  the
360        state  of  <STRONG>use_env</STRONG>  and  <STRONG>use_tioctl</STRONG> may be updated before creating each
361        <EM>screen</EM> rather than once  only  (<STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>).   This  feature  of
362        <STRONG>use_env</STRONG> is not provided by other implementation of curses.
363
364
365 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
366        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,    <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,    <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>,   <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>,
367        <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>, <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>,  <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,  <STRONG>legacy_cod-</STRONG>
368        <STRONG><A HREF="legacy_coding.3x.html">ing(3x)</A></STRONG>.
369
370
371
372 ncurses 6.4                       2023-07-15                     <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
373 </PRE>
374 <div class="nav">
375 <ul>
376 <li><a href="#h2-NAME">NAME</a></li>
377 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
378 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
379 <ul>
380 <li><a href="#h3-unctrl">unctrl</a></li>
381 <li><a href="#h3-keyname_key_name">keyname/key_name</a></li>
382 <li><a href="#h3-filter_nofilter">filter/nofilter</a></li>
383 <li><a href="#h3-use_env">use_env</a></li>
384 <li><a href="#h3-use_tioctl">use_tioctl</a></li>
385 <li><a href="#h3-putwin_getwin">putwin/getwin</a></li>
386 <li><a href="#h3-delay_output">delay_output</a></li>
387 <li><a href="#h3-flushinp">flushinp</a></li>
388 </ul>
389 </li>
390 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
391 <li><a href="#h2-PORTABILITY">PORTABILITY</a>
392 <ul>
393 <li><a href="#h3-filter">filter</a></li>
394 <li><a href="#h3-keyname">keyname</a></li>
395 <li><a href="#h3-nofilter_use_tioctl">nofilter/use_tioctl</a></li>
396 <li><a href="#h3-putwin_getwin-file-format">putwin/getwin file-format</a></li>
397 <li><a href="#h3-unctrl_wunctrl">unctrl/wunctrl</a></li>
398 <li><a href="#h3-use_env_use_tioctl">use_env/use_tioctl</a></li>
399 </ul>
400 </li>
401 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
402 </ul>
403 </div>
404 </BODY>
405 </HTML>