• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!--
2  * t
3  ****************************************************************************
4  * Copyright 2021-2023,2024 Thomas E. Dickey                                *
5  * Copyright 2008-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_threads.3x,v 1.56 2024/03/16 15:35:01 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_threads 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
39<link rel="author" href="mailto:bug-ncurses@gnu.org">
40
41</HEAD>
42<BODY>
43<H1 class="no-header">curs_threads 3x 2024-03-16 ncurses 6.5 Library calls</H1>
44<PRE>
45<STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>                 Library calls                <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>
46
47
48
49
50</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
51       <EM>NCURSES</EM><STRONG>_</STRONG><EM>WINDOW</EM><STRONG>_</STRONG><EM>CB</EM>,   <EM>NCURSES</EM><STRONG>_</STRONG><EM>SCREEN</EM><STRONG>_</STRONG><EM>CB</EM>,   <STRONG>get_escdelay</STRONG>,   <STRONG>set_escdelay</STRONG>,
52       <STRONG>set_tabsize</STRONG>, <STRONG>use_screen</STRONG>, <STRONG>use_window</STRONG> - <EM>curses</EM> support for multi-threaded
53       applications
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       <EM>/*</EM> <EM>data</EM> <EM>types</EM> <EM>*/</EM>
60       <STRONG>typedef</STRONG> <STRONG>int</STRONG> <STRONG>(*NCURSES_WINDOW_CB)(WINDOW</STRONG> <STRONG>*,</STRONG> <STRONG>void</STRONG> <STRONG>*);</STRONG>
61       <STRONG>typedef</STRONG> <STRONG>int</STRONG> <STRONG>(*NCURSES_SCREEN_CB)(SCREEN</STRONG> <STRONG>*,</STRONG> <STRONG>void</STRONG> <STRONG>*);</STRONG>
62
63       <STRONG>int</STRONG> <STRONG>get_escdelay(void);</STRONG>
64       <STRONG>int</STRONG> <STRONG>set_escdelay(int</STRONG> <EM>ms</EM><STRONG>);</STRONG>
65       <STRONG>int</STRONG> <STRONG>set_tabsize(int</STRONG> <EM>cols</EM><STRONG>);</STRONG>
66
67       <STRONG>int</STRONG> <STRONG>use_screen(SCREEN</STRONG> <STRONG>*</STRONG><EM>scr</EM><STRONG>,</STRONG> <STRONG>NCURSES_SCREEN_CB</STRONG> <EM>func</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>data</EM><STRONG>);</STRONG>
68       <STRONG>int</STRONG> <STRONG>use_window(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>NCURSES_WINDOW_CB</STRONG> <EM>func</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>data</EM><STRONG>);</STRONG>
69
70
71</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
72       The  <EM>ncurses</EM>  library  can  be  configured  to  support  multi-threaded
73       applications in a  rudimentary  way.   Such  configuration  produces  a
74       different set of libraries, named <EM>libncursest</EM>, for example, since doing
75       so alters <EM>ncurses</EM>'s application binary interface (ABI).
76
77       Instead of modifying the programming interface (API)  to  make  <EM>ncurses</EM>
78       functions  expect  an  additional  argument  specifying  a  thread, the
79       library adds functions, usable in  any  configuration,  that  hide  the
80       <EM>mutexes</EM> (mutual exclusion locks) needed to prevent concurrent access to
81       variables shared by multiple threads of execution.
82
83       <EM>ncurses</EM> threading support requires  the  use  of  functions  to  access
84       members  of  the  <EM>WINDOW</EM>  structure  (see <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>).  It further
85       makes functions of the common  global  variables  <STRONG>COLORS</STRONG>,  <STRONG>COLOR_PAIRS</STRONG>,
86       <STRONG>COLS</STRONG>,   <STRONG>ESCDELAY</STRONG>,   <STRONG>LINES</STRONG>,   <STRONG>TABSIZE</STRONG>,   <STRONG>curscr</STRONG>,  <STRONG>newscr</STRONG>,  and  <STRONG>ttytype</STRONG>,
87       maintaining them as as read-only values in the <EM>SCREEN</EM> structure.
88
89       Even this is not enough to make an  application  using  <EM>curses</EM>  thread-
90       safe.   We  would  expect  a multi-threaded application to have threads
91       updating separate windows (on the same device),  and  separate  screens
92       (on  different  devices).   Further,  applications  expect a few of the
93       global variables to be writable.  The functions described here  address
94       these special situations.
95
96       The  <STRONG>ESCDELAY</STRONG>  and  <STRONG>TABSIZE</STRONG>  global  variables  are  modified  by  some
97       applications.   To  modify  them  in   any   configuration,   use   the
98       <STRONG>set_escdelay</STRONG>  or <STRONG>set_tabsize</STRONG> functions.  Other global variables are not
99       modifiable.  <STRONG>get_escdelay</STRONG> retrieves <STRONG>ESCDELAY</STRONG>'s value.
100
101       The <STRONG>use_window</STRONG> and <STRONG>use_screen</STRONG> functions provide coarse-grained  mutexes
102       for  their  respective  <EM>WINDOW</EM> and <EM>SCREEN</EM> parameters; they call a user-
103       supplied function, pass it a <EM>data</EM> parameter, and return the value  from
104       the user-supplied function to the application.
105
106
107</PRE><H3><a name="h3-Usage">Usage</a></H3><PRE>
108       All  <EM>ncurses</EM>  library  functions  assume that the locale is not altered
109       during operation.  In addition, they use data that is maintained within
110       a hierarchy of scopes.
111
112       <STRONG>o</STRONG>   global data used in the low-level <EM>terminfo</EM> or <EM>termcap</EM> interfaces
113
114       <STRONG>o</STRONG>   terminal data associated with a call to <STRONG><A HREF="curs_terminfo.3x.html">set_curterm(3x)</A></STRONG>
115
116           Terminal data are initialized when screens are created.
117
118       <STRONG>o</STRONG>   screen data associated with a call to <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG> or <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG>
119
120       <STRONG>o</STRONG>   window data associated with a call to <STRONG><A HREF="curs_window.3x.html">newwin(3x)</A></STRONG> or <STRONG><A HREF="subwin.3x.html">subwin(3x)</A></STRONG>
121
122           Windows  are  associated  with  screens.   Pads are not necessarily
123           associated with any particular screen.
124
125           Most <EM>curses</EM> applications operate on one or more  windows  within  a
126           single screen.
127
128       <STRONG>o</STRONG>   reentrant  data  associated  with  "pure"  functions  that alter no
129           shared variables
130
131       The following table lists the scope  of  each  symbol  in  the  <EM>ncurses</EM>
132       library when configured to support multi-threaded applications.
133
134       <STRONG>Symbol</STRONG>                 <STRONG>Scope</STRONG>
135       ------------------------------------------------------------------------
136       <STRONG>BC</STRONG>                     global
137       <STRONG>COLORS</STRONG>                 screen (read-only)
138       <STRONG>COLOR_PAIR</STRONG>             reentrant
139       <STRONG>COLOR_PAIRS</STRONG>            screen (read-only)
140       <STRONG>COLS</STRONG>                   screen (read-only)
141       <STRONG>ESCDELAY</STRONG>               screen (read-only; see <STRONG>set_escdelay</STRONG>)
142       <STRONG>LINES</STRONG>                  screen (read-only)
143       <STRONG>PAIR_NUMBER</STRONG>            reentrant
144       <STRONG>PC</STRONG>                     global
145       <STRONG>SP</STRONG>                     global
146       <STRONG>TABSIZE</STRONG>                screen (read-only; see <STRONG>set_tabsize</STRONG>)
147       <STRONG>UP</STRONG>                     global
148       <STRONG>acs_map</STRONG>                screen (read-only)
149       <STRONG>add_wch</STRONG>                window (<STRONG>stdscr</STRONG>)
150       <STRONG>add_wchnstr</STRONG>            window (<STRONG>stdscr</STRONG>)
151       <STRONG>add_wchstr</STRONG>             window (<STRONG>stdscr</STRONG>)
152       <STRONG>addch</STRONG>                  window (<STRONG>stdscr</STRONG>)
153       <STRONG>addchnstr</STRONG>              window (<STRONG>stdscr</STRONG>)
154       <STRONG>addchstr</STRONG>               window (<STRONG>stdscr</STRONG>)
155       <STRONG>addnstr</STRONG>                window (<STRONG>stdscr</STRONG>)
156       <STRONG>addnwstr</STRONG>               window (<STRONG>stdscr</STRONG>)
157       <STRONG>addstr</STRONG>                 window (<STRONG>stdscr</STRONG>)
158       <STRONG>addwstr</STRONG>                window (<STRONG>stdscr</STRONG>)
159       <STRONG>assume_default_colors</STRONG>  screen
160       <STRONG>attr_get</STRONG>               window (<STRONG>stdscr</STRONG>)
161       <STRONG>attr_off</STRONG>               window (<STRONG>stdscr</STRONG>)
162       <STRONG>attr_on</STRONG>                window (<STRONG>stdscr</STRONG>)
163       <STRONG>attr_set</STRONG>               window (<STRONG>stdscr</STRONG>)
164       <STRONG>attroff</STRONG>                window (<STRONG>stdscr</STRONG>)
165       <STRONG>attron</STRONG>                 window (<STRONG>stdscr</STRONG>)
166       <STRONG>attrset</STRONG>                window (<STRONG>stdscr</STRONG>)
167       <STRONG>baudrate</STRONG>               screen
168       <STRONG>beep</STRONG>                   screen
169       <STRONG>bkgd</STRONG>                   window (<STRONG>stdscr</STRONG>)
170       <STRONG>bkgdset</STRONG>                window (<STRONG>stdscr</STRONG>)
171       <STRONG>bkgrnd</STRONG>                 window (<STRONG>stdscr</STRONG>)
172       <STRONG>bkgrndset</STRONG>              window (<STRONG>stdscr</STRONG>)
173       <STRONG>boolcodes</STRONG>              global (read-only)
174       <STRONG>boolfnames</STRONG>             global (read-only)
175       <STRONG>boolnames</STRONG>              global (read-only)
176       <STRONG>border</STRONG>                 window (<STRONG>stdscr</STRONG>)
177       <STRONG>border_set</STRONG>             window (<STRONG>stdscr</STRONG>)
178       <STRONG>box</STRONG>                    window (<STRONG>stdscr</STRONG>)
179       <STRONG>box_set</STRONG>                window (<STRONG>stdscr</STRONG>)
180       <STRONG>can_change_color</STRONG>       terminal
181       <STRONG>cbreak</STRONG>                 screen
182
183       <STRONG>chgat</STRONG>                  window (<STRONG>stdscr</STRONG>)
184       <STRONG>clear</STRONG>                  window (<STRONG>stdscr</STRONG>)
185       <STRONG>clearok</STRONG>                window
186       <STRONG>clrtobot</STRONG>               window (<STRONG>stdscr</STRONG>)
187       <STRONG>clrtoeol</STRONG>               window (<STRONG>stdscr</STRONG>)
188       <STRONG>color_content</STRONG>          screen
189       <STRONG>color_set</STRONG>              window (<STRONG>stdscr</STRONG>)
190       <STRONG>copywin</STRONG>                window (locks source, target)
191       <STRONG>cur_term</STRONG>               terminal
192       <STRONG>curs_set</STRONG>               screen
193       <STRONG>curscr</STRONG>                 screen (read-only)
194       <STRONG>curses_version</STRONG>         global (read-only)
195       <STRONG>def_prog_mode</STRONG>          terminal
196       <STRONG>def_shell_mode</STRONG>         terminal
197       <STRONG>define_key</STRONG>             screen
198       <STRONG>del_curterm</STRONG>            screen
199       <STRONG>delay_output</STRONG>           screen
200       <STRONG>delch</STRONG>                  window (<STRONG>stdscr</STRONG>)
201       <STRONG>deleteln</STRONG>               window (<STRONG>stdscr</STRONG>)
202       <STRONG>delscreen</STRONG>              global (locks screen list, screen)
203       <STRONG>delwin</STRONG>                 global (locks window list)
204       <STRONG>derwin</STRONG>                 screen
205       <STRONG>doupdate</STRONG>               screen
206       <STRONG>dupwin</STRONG>                 screen (locks window)
207       <STRONG>echo</STRONG>                   screen
208       <STRONG>echo_wchar</STRONG>             window (<STRONG>stdscr</STRONG>)
209       <STRONG>echochar</STRONG>               window (<STRONG>stdscr</STRONG>)
210       <STRONG>endwin</STRONG>                 screen
211       <STRONG>erase</STRONG>                  window (<STRONG>stdscr</STRONG>)
212       <STRONG>erasechar</STRONG>              window (<STRONG>stdscr</STRONG>)
213       <STRONG>erasewchar</STRONG>             window (<STRONG>stdscr</STRONG>)
214       <STRONG>filter</STRONG>                 global
215       <STRONG>flash</STRONG>                  terminal
216       <STRONG>flushinp</STRONG>               screen
217       <STRONG>get_wch</STRONG>                screen (input operation)
218       <STRONG>get_wstr</STRONG>               screen (input operation)
219       <STRONG>getattrs</STRONG>               window
220       <STRONG>getbegx</STRONG>                window
221       <STRONG>getbegy</STRONG>                window
222       <STRONG>getbkgd</STRONG>                window
223       <STRONG>getbkgrnd</STRONG>              window
224       <STRONG>getcchar</STRONG>               reentrant
225       <STRONG>getch</STRONG>                  screen (input operation)
226       <STRONG>getcurx</STRONG>                window
227       <STRONG>getcury</STRONG>                window
228       <STRONG>getmaxx</STRONG>                window
229       <STRONG>getmaxy</STRONG>                window
230       <STRONG>getmouse</STRONG>               screen (input operation)
231       <STRONG>getn_wstr</STRONG>              screen (input operation)
232       <STRONG>getnstr</STRONG>                screen (input operation)
233       <STRONG>getparx</STRONG>                window
234       <STRONG>getpary</STRONG>                window
235       <STRONG>getstr</STRONG>                 screen (input operation)
236       <STRONG>getwin</STRONG>                 screen (input operation)
237       <STRONG>halfdelay</STRONG>              screen
238       <STRONG>has_colors</STRONG>             terminal
239       <STRONG>has_ic</STRONG>                 terminal
240       <STRONG>has_il</STRONG>                 terminal
241       <STRONG>has_key</STRONG>                screen
242       <STRONG>hline</STRONG>                  window (<STRONG>stdscr</STRONG>)
243       <STRONG>hline_set</STRONG>              window (<STRONG>stdscr</STRONG>)
244       <STRONG>idcok</STRONG>                  window
245       <STRONG>idlok</STRONG>                  window
246       <STRONG>immedok</STRONG>                window
247       <STRONG>in_wch</STRONG>                 window (<STRONG>stdscr</STRONG>)
248       <STRONG>in_wchnstr</STRONG>             window (<STRONG>stdscr</STRONG>)
249
250       <STRONG>in_wchstr</STRONG>              window (<STRONG>stdscr</STRONG>)
251       <STRONG>inch</STRONG>                   window (<STRONG>stdscr</STRONG>)
252       <STRONG>inchnstr</STRONG>               window (<STRONG>stdscr</STRONG>)
253       <STRONG>inchstr</STRONG>                window (<STRONG>stdscr</STRONG>)
254       <STRONG>init_color</STRONG>             screen
255       <STRONG>init_pair</STRONG>              screen
256       <STRONG>initscr</STRONG>                global (locks screen list)
257       <STRONG>innstr</STRONG>                 window (<STRONG>stdscr</STRONG>)
258       <STRONG>innwstr</STRONG>                window (<STRONG>stdscr</STRONG>)
259       <STRONG>ins_nwstr</STRONG>              window (<STRONG>stdscr</STRONG>)
260       <STRONG>ins_wch</STRONG>                window (<STRONG>stdscr</STRONG>)
261       <STRONG>ins_wstr</STRONG>               window (<STRONG>stdscr</STRONG>)
262       <STRONG>insch</STRONG>                  window (<STRONG>stdscr</STRONG>)
263       <STRONG>insdelln</STRONG>               window (<STRONG>stdscr</STRONG>)
264       <STRONG>insertln</STRONG>               window (<STRONG>stdscr</STRONG>)
265       <STRONG>insnstr</STRONG>                window (<STRONG>stdscr</STRONG>)
266       <STRONG>insstr</STRONG>                 window (<STRONG>stdscr</STRONG>)
267       <STRONG>instr</STRONG>                  window (<STRONG>stdscr</STRONG>)
268       <STRONG>intrflush</STRONG>              terminal
269       <STRONG>inwstr</STRONG>                 window (<STRONG>stdscr</STRONG>)
270       <STRONG>is_cleared</STRONG>             window
271       <STRONG>is_idcok</STRONG>               window
272       <STRONG>is_idlok</STRONG>               window
273       <STRONG>is_immedok</STRONG>             window
274       <STRONG>is_keypad</STRONG>              window
275       <STRONG>is_leaveok</STRONG>             window
276       <STRONG>is_linetouched</STRONG>         window
277       <STRONG>is_nodelay</STRONG>             window
278       <STRONG>is_notimeout</STRONG>           window
279       <STRONG>is_scrollok</STRONG>            window
280       <STRONG>is_syncok</STRONG>              window
281       <STRONG>is_term_resized</STRONG>        terminal
282       <STRONG>is_wintouched</STRONG>          window
283       <STRONG>isendwin</STRONG>               screen
284       <STRONG>key_defined</STRONG>            screen
285       <STRONG>key_name</STRONG>               global (static data)
286       <STRONG>keybound</STRONG>               screen
287       <STRONG>keyname</STRONG>                global (static data)
288       <STRONG>keyok</STRONG>                  screen
289       <STRONG>keypad</STRONG>                 window
290       <STRONG>killchar</STRONG>               terminal
291       <STRONG>killwchar</STRONG>              terminal
292       <STRONG>leaveok</STRONG>                window
293       <STRONG>longname</STRONG>               screen
294       <STRONG>mcprint</STRONG>                terminal
295       <STRONG>meta</STRONG>                   screen
296       <STRONG>mouse_trafo</STRONG>            window (<STRONG>stdscr</STRONG>)
297       <STRONG>mouseinterval</STRONG>          screen
298       <STRONG>mousemask</STRONG>              screen
299       <STRONG>move</STRONG>                   window (<STRONG>stdscr</STRONG>)
300       <STRONG>mvadd_wch</STRONG>              window (<STRONG>stdscr</STRONG>)
301       <STRONG>mvadd_wchnstr</STRONG>          window (<STRONG>stdscr</STRONG>)
302       <STRONG>mvadd_wchstr</STRONG>           window (<STRONG>stdscr</STRONG>)
303       <STRONG>mvaddch</STRONG>                window (<STRONG>stdscr</STRONG>)
304       <STRONG>mvaddchnstr</STRONG>            window (<STRONG>stdscr</STRONG>)
305       <STRONG>mvaddchstr</STRONG>             window (<STRONG>stdscr</STRONG>)
306       <STRONG>mvaddnstr</STRONG>              window (<STRONG>stdscr</STRONG>)
307       <STRONG>mvaddnwstr</STRONG>             window (<STRONG>stdscr</STRONG>)
308       <STRONG>mvaddstr</STRONG>               window (<STRONG>stdscr</STRONG>)
309       <STRONG>mvaddwstr</STRONG>              window (<STRONG>stdscr</STRONG>)
310       <STRONG>mvchgat</STRONG>                window (<STRONG>stdscr</STRONG>)
311       <STRONG>mvcur</STRONG>                  screen
312       <STRONG>mvdelch</STRONG>                window (<STRONG>stdscr</STRONG>)
313       <STRONG>mvderwin</STRONG>               window (<STRONG>stdscr</STRONG>)
314       <STRONG>mvget_wch</STRONG>              screen (input operation)
315       <STRONG>mvget_wstr</STRONG>             screen (input operation)
316
317       <STRONG>mvgetch</STRONG>                screen (input operation)
318       <STRONG>mvgetn_wstr</STRONG>            screen (input operation)
319       <STRONG>mvgetnstr</STRONG>              screen (input operation)
320       <STRONG>mvgetstr</STRONG>               screen (input operation)
321       <STRONG>mvhline</STRONG>                window (<STRONG>stdscr</STRONG>)
322       <STRONG>mvhline_set</STRONG>            window (<STRONG>stdscr</STRONG>)
323       <STRONG>mvin_wch</STRONG>               window (<STRONG>stdscr</STRONG>)
324       <STRONG>mvin_wchnstr</STRONG>           window (<STRONG>stdscr</STRONG>)
325       <STRONG>mvin_wchstr</STRONG>            window (<STRONG>stdscr</STRONG>)
326       <STRONG>mvinch</STRONG>                 window (<STRONG>stdscr</STRONG>)
327       <STRONG>mvinchnstr</STRONG>             window (<STRONG>stdscr</STRONG>)
328       <STRONG>mvinchstr</STRONG>              window (<STRONG>stdscr</STRONG>)
329       <STRONG>mvinnstr</STRONG>               window (<STRONG>stdscr</STRONG>)
330       <STRONG>mvinnwstr</STRONG>              window (<STRONG>stdscr</STRONG>)
331       <STRONG>mvins_nwstr</STRONG>            window (<STRONG>stdscr</STRONG>)
332       <STRONG>mvins_wch</STRONG>              window (<STRONG>stdscr</STRONG>)
333       <STRONG>mvins_wstr</STRONG>             window (<STRONG>stdscr</STRONG>)
334       <STRONG>mvinsch</STRONG>                window (<STRONG>stdscr</STRONG>)
335       <STRONG>mvinsnstr</STRONG>              window (<STRONG>stdscr</STRONG>)
336       <STRONG>mvinsstr</STRONG>               window (<STRONG>stdscr</STRONG>)
337       <STRONG>mvinstr</STRONG>                window (<STRONG>stdscr</STRONG>)
338       <STRONG>mvinwstr</STRONG>               window (<STRONG>stdscr</STRONG>)
339       <STRONG>mvprintw</STRONG>               window (<STRONG>stdscr</STRONG>)
340       <STRONG>mvscanw</STRONG>                screen
341       <STRONG>mvvline</STRONG>                window (<STRONG>stdscr</STRONG>)
342       <STRONG>mvvline_set</STRONG>            window (<STRONG>stdscr</STRONG>)
343       <STRONG>mvwadd_wch</STRONG>             window
344       <STRONG>mvwadd_wchnstr</STRONG>         window
345       <STRONG>mvwadd_wchstr</STRONG>          window
346       <STRONG>mvwaddch</STRONG>               window
347       <STRONG>mvwaddchnstr</STRONG>           window
348       <STRONG>mvwaddchstr</STRONG>            window
349       <STRONG>mvwaddnstr</STRONG>             window
350       <STRONG>mvwaddnwstr</STRONG>            window
351       <STRONG>mvwaddstr</STRONG>              window
352       <STRONG>mvwaddwstr</STRONG>             window
353       <STRONG>mvwchgat</STRONG>               window
354       <STRONG>mvwdelch</STRONG>               window
355       <STRONG>mvwget_wch</STRONG>             screen (input operation)
356       <STRONG>mvwget_wstr</STRONG>            screen (input operation)
357       <STRONG>mvwgetch</STRONG>               screen (input operation)
358       <STRONG>mvwgetn_wstr</STRONG>           screen (input operation)
359       <STRONG>mvwgetnstr</STRONG>             screen (input operation)
360       <STRONG>mvwgetstr</STRONG>              screen (input operation)
361       <STRONG>mvwhline</STRONG>               window
362       <STRONG>mvwhline_set</STRONG>           window
363       <STRONG>mvwin</STRONG>                  window
364       <STRONG>mvwin_wch</STRONG>              window
365       <STRONG>mvwin_wchnstr</STRONG>          window
366       <STRONG>mvwin_wchstr</STRONG>           window
367       <STRONG>mvwinch</STRONG>                window
368       <STRONG>mvwinchnstr</STRONG>            window
369       <STRONG>mvwinchstr</STRONG>             window
370       <STRONG>mvwinnstr</STRONG>              window
371       <STRONG>mvwinnwstr</STRONG>             window
372       <STRONG>mvwins_nwstr</STRONG>           window
373       <STRONG>mvwins_wch</STRONG>             window
374       <STRONG>mvwins_wstr</STRONG>            window
375       <STRONG>mvwinsch</STRONG>               window
376       <STRONG>mvwinsnstr</STRONG>             window
377       <STRONG>mvwinsstr</STRONG>              window
378       <STRONG>mvwinstr</STRONG>               window
379       <STRONG>mvwinwstr</STRONG>              window
380       <STRONG>mvwprintw</STRONG>              window
381       <STRONG>mvwscanw</STRONG>               screen
382       <STRONG>mvwvline</STRONG>               window
383
384       <STRONG>mvwvline_set</STRONG>           window
385       <STRONG>napms</STRONG>                  reentrant
386       <STRONG>newpad</STRONG>                 global (locks window list)
387       <STRONG>newscr</STRONG>                 screen (read-only)
388       <STRONG>newterm</STRONG>                global (locks screen list)
389       <STRONG>newwin</STRONG>                 global (locks window list)
390       <STRONG>nl</STRONG>                     screen
391       <STRONG>nocbreak</STRONG>               screen
392       <STRONG>nodelay</STRONG>                window
393       <STRONG>noecho</STRONG>                 screen
394       <STRONG>nofilter</STRONG>               global
395       <STRONG>nonl</STRONG>                   screen
396       <STRONG>noqiflush</STRONG>              terminal
397       <STRONG>noraw</STRONG>                  screen
398       <STRONG>notimeout</STRONG>              window
399       <STRONG>numcodes</STRONG>               global (read-only)
400       <STRONG>numfnames</STRONG>              global (read-only)
401       <STRONG>numnames</STRONG>               global (read-only)
402       <STRONG>ospeed</STRONG>                 global
403       <STRONG>overlay</STRONG>                window (locks source, target)
404       <STRONG>overwrite</STRONG>              window (locks source, target)
405       <STRONG>pair_content</STRONG>           screen
406       <STRONG>pecho_wchar</STRONG>            screen
407       <STRONG>pechochar</STRONG>              screen
408       <STRONG>pnoutrefresh</STRONG>           screen
409       <STRONG>prefresh</STRONG>               screen
410       <STRONG>printw</STRONG>                 window
411       <STRONG>putp</STRONG>                   global
412       <STRONG>putwin</STRONG>                 window
413       <STRONG>qiflush</STRONG>                terminal
414       <STRONG>raw</STRONG>                    screen
415       <STRONG>redrawwin</STRONG>              window
416       <STRONG>refresh</STRONG>                screen
417       <STRONG>reset_prog_mode</STRONG>        screen
418       <STRONG>reset_shell_mode</STRONG>       screen
419       <STRONG>resetty</STRONG>                terminal
420       <STRONG>resize_term</STRONG>            screen (locks window list)
421       <STRONG>resizeterm</STRONG>             screen
422       <STRONG>restartterm</STRONG>            screen
423       <STRONG>ripoffline</STRONG>             global (static data)
424       <STRONG>savetty</STRONG>                terminal
425       <STRONG>scanw</STRONG>                  screen
426       <STRONG>scr_dump</STRONG>               screen
427       <STRONG>scr_init</STRONG>               screen
428       <STRONG>scr_restore</STRONG>            screen
429       <STRONG>scr_set</STRONG>                screen
430       <STRONG>scrl</STRONG>                   window (<STRONG>stdscr</STRONG>)
431       <STRONG>scroll</STRONG>                 window
432       <STRONG>scrollok</STRONG>               window
433       <STRONG>set_curterm</STRONG>            screen
434       <STRONG>set_escdelay</STRONG>           screen
435       <STRONG>set_tabsize</STRONG>            screen
436       <STRONG>set_term</STRONG>               global (locks screen list, screen)
437       <STRONG>setcchar</STRONG>               reentrant
438       <STRONG>setscrreg</STRONG>              window (<STRONG>stdscr</STRONG>)
439       <STRONG>setupterm</STRONG>              global
440       <STRONG>slk_attr</STRONG>               screen
441       <STRONG>slk_attr_off</STRONG>           screen
442       <STRONG>slk_attr_on</STRONG>            screen
443       <STRONG>slk_attr_set</STRONG>           screen
444       <STRONG>slk_attroff</STRONG>            screen
445       <STRONG>slk_attron</STRONG>             screen
446       <STRONG>slk_attrset</STRONG>            screen
447       <STRONG>slk_clear</STRONG>              screen
448       <STRONG>slk_color</STRONG>              screen
449       <STRONG>slk_init</STRONG>               screen
450
451       <STRONG>slk_label</STRONG>              screen
452       <STRONG>slk_noutrefresh</STRONG>        screen
453       <STRONG>slk_refresh</STRONG>            screen
454       <STRONG>slk_restore</STRONG>            screen
455       <STRONG>slk_set</STRONG>                screen
456       <STRONG>slk_touch</STRONG>              screen
457       <STRONG>slk_wset</STRONG>               screen
458       <STRONG>standend</STRONG>               window
459       <STRONG>standout</STRONG>               window
460       <STRONG>start_color</STRONG>            screen
461       <STRONG>stdscr</STRONG>                 screen (read-only)
462       <STRONG>strcodes</STRONG>               global (read-only)
463       <STRONG>strfnames</STRONG>              global (read-only)
464       <STRONG>strnames</STRONG>               global (read-only)
465       <STRONG>subpad</STRONG>                 window
466       <STRONG>subwin</STRONG>                 window
467       <STRONG>syncok</STRONG>                 window
468       <STRONG>term_attrs</STRONG>             screen
469       <STRONG>termattrs</STRONG>              screen
470       <STRONG>termname</STRONG>               terminal
471       <STRONG>tgetent</STRONG>                global
472       <STRONG>tgetflag</STRONG>               global
473       <STRONG>tgetnum</STRONG>                global
474       <STRONG>tgetstr</STRONG>                global
475       <STRONG>tgoto</STRONG>                  global
476       <STRONG>tigetflag</STRONG>              terminal
477       <STRONG>tigetnum</STRONG>               terminal
478       <STRONG>tigetstr</STRONG>               terminal
479       <STRONG>timeout</STRONG>                window (<STRONG>stdscr</STRONG>)
480       <STRONG>touchline</STRONG>              window
481       <STRONG>touchwin</STRONG>               window
482       <STRONG>tparm</STRONG>                  global (static data)
483       <STRONG>tputs</STRONG>                  screen
484       <STRONG>trace</STRONG>                  global (static data)
485       <STRONG>ttytype</STRONG>                screen (read-only)
486       <STRONG>typeahead</STRONG>              screen
487       <STRONG>unctrl</STRONG>                 screen
488       <STRONG>unget_wch</STRONG>              screen (input operation)
489       <STRONG>ungetch</STRONG>                screen (input operation)
490       <STRONG>ungetmouse</STRONG>             screen (input operation)
491       <STRONG>untouchwin</STRONG>             window
492       <STRONG>use_default_colors</STRONG>     screen
493       <STRONG>use_env</STRONG>                global (static data)
494       <STRONG>use_extended_names</STRONG>     global (static data)
495       <STRONG>use_legacy_coding</STRONG>      screen
496       <STRONG>use_screen</STRONG>             global (locks screen list, screen)
497       <STRONG>use_window</STRONG>             global (locks window list, window)
498       <STRONG>vid_attr</STRONG>               screen
499       <STRONG>vid_puts</STRONG>               screen
500       <STRONG>vidattr</STRONG>                screen
501       <STRONG>vidputs</STRONG>                screen
502       <STRONG>vline</STRONG>                  window (<STRONG>stdscr</STRONG>)
503       <STRONG>vline_set</STRONG>              window (<STRONG>stdscr</STRONG>)
504       <STRONG>vw_printw</STRONG>              window
505       <STRONG>vw_scanw</STRONG>               screen
506       <STRONG>vwprintw</STRONG>               window
507       <STRONG>vwscanw</STRONG>                screen
508       <STRONG>wadd_wch</STRONG>               window
509       <STRONG>wadd_wchnstr</STRONG>           window
510       <STRONG>wadd_wchstr</STRONG>            window
511       <STRONG>waddch</STRONG>                 window
512       <STRONG>waddchnstr</STRONG>             window
513       <STRONG>waddchstr</STRONG>              window
514       <STRONG>waddnstr</STRONG>               window
515       <STRONG>waddnwstr</STRONG>              window
516       <STRONG>waddstr</STRONG>                window
517
518       <STRONG>waddwstr</STRONG>               window
519       <STRONG>wattr_get</STRONG>              window
520       <STRONG>wattr_off</STRONG>              window
521       <STRONG>wattr_on</STRONG>               window
522       <STRONG>wattr_set</STRONG>              window
523       <STRONG>wattroff</STRONG>               window
524       <STRONG>wattron</STRONG>                window
525       <STRONG>wattrset</STRONG>               window
526       <STRONG>wbkgd</STRONG>                  window
527       <STRONG>wbkgdset</STRONG>               window
528       <STRONG>wbkgrnd</STRONG>                window
529       <STRONG>wbkgrndset</STRONG>             window
530       <STRONG>wborder</STRONG>                window
531       <STRONG>wborder_set</STRONG>            window
532       <STRONG>wchgat</STRONG>                 window
533       <STRONG>wclear</STRONG>                 window
534       <STRONG>wclrtobot</STRONG>              window
535       <STRONG>wclrtoeol</STRONG>              window
536       <STRONG>wcolor_set</STRONG>             window
537       <STRONG>wcursyncup</STRONG>             screen (affects window plus parents)
538       <STRONG>wdelch</STRONG>                 window
539       <STRONG>wdeleteln</STRONG>              window
540       <STRONG>wecho_wchar</STRONG>            window
541       <STRONG>wechochar</STRONG>              window
542       <STRONG>wenclose</STRONG>               window
543       <STRONG>werase</STRONG>                 window
544       <STRONG>wget_wch</STRONG>               screen (input operation)
545       <STRONG>wget_wstr</STRONG>              screen (input operation)
546       <STRONG>wgetbkgrnd</STRONG>             window
547       <STRONG>wgetch</STRONG>                 screen (input operation)
548       <STRONG>wgetdelay</STRONG>              window
549       <STRONG>wgetn_wstr</STRONG>             screen (input operation)
550       <STRONG>wgetnstr</STRONG>               screen (input operation)
551       <STRONG>wgetparent</STRONG>             window
552       <STRONG>wgetscrreg</STRONG>             window
553       <STRONG>wgetstr</STRONG>                screen (input operation)
554       <STRONG>whline</STRONG>                 window
555       <STRONG>whline_set</STRONG>             window
556       <STRONG>win_wch</STRONG>                window
557       <STRONG>win_wchnstr</STRONG>            window
558       <STRONG>win_wchstr</STRONG>             window
559       <STRONG>winch</STRONG>                  window
560       <STRONG>winchnstr</STRONG>              window
561       <STRONG>winchstr</STRONG>               window
562       <STRONG>winnstr</STRONG>                window
563       <STRONG>winnwstr</STRONG>               window
564       <STRONG>wins_nwstr</STRONG>             window
565       <STRONG>wins_wch</STRONG>               window
566       <STRONG>wins_wstr</STRONG>              window
567       <STRONG>winsch</STRONG>                 window
568       <STRONG>winsdelln</STRONG>              window
569       <STRONG>winsertln</STRONG>              window
570       <STRONG>winsnstr</STRONG>               window
571       <STRONG>winsstr</STRONG>                window
572       <STRONG>winstr</STRONG>                 window
573       <STRONG>winwstr</STRONG>                window
574       <STRONG>wmouse_trafo</STRONG>           window
575       <STRONG>wmove</STRONG>                  window
576       <STRONG>wnoutrefresh</STRONG>           screen
577       <STRONG>wprintw</STRONG>                window
578       <STRONG>wredrawln</STRONG>              window
579       <STRONG>wrefresh</STRONG>               screen
580       <STRONG>wresize</STRONG>                window (locks window list)
581       <STRONG>wscanw</STRONG>                 screen
582       <STRONG>wscrl</STRONG>                  window
583       <STRONG>wsetscrreg</STRONG>             window
584
585       <STRONG>wstandend</STRONG>              window
586       <STRONG>wstandout</STRONG>              window
587       <STRONG>wsyncdown</STRONG>              screen (affects window plus parents)
588       <STRONG>wsyncup</STRONG>                screen (affects window plus parents)
589       <STRONG>wtimeout</STRONG>               window
590       <STRONG>wtouchln</STRONG>               window
591       <STRONG>wunctrl</STRONG>                global (static data)
592       <STRONG>wvline</STRONG>                 window
593       <STRONG>wvline_set</STRONG>             window
594
595
596</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
597       <STRONG>get_escdelay</STRONG>   returns   the   value  of  <STRONG>ESCDELAY</STRONG>.   <STRONG>set_escdelay</STRONG>  and
598       <STRONG>set_tabsize</STRONG> return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> upon successful  completion.
599       <STRONG>use_screen</STRONG>  and <STRONG>use_window</STRONG> return the <EM>int</EM> returned by the user-supplied
600       function they are called with.
601
602
603</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
604       <EM>ncurses</EM> provides both a C function and a preprocessor  macro  for  each
605       function documented in this page.
606
607
608</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
609       These  routines  are  specific  to <EM>ncurses</EM>.  They were not supported on
610       Version 7, BSD or System V implementations.  It is recommended that any
611       code   depending   on   <EM>ncurses</EM>   extensions   be   conditioned   using
612       <STRONG>NCURSES_VERSION</STRONG>.
613
614
615</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
616       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
617
618
619
620ncurses 6.5                       2024-03-16                  <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>
621</PRE>
622<div class="nav">
623<ul>
624<li><a href="#h2-NAME">NAME</a></li>
625<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
626<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
627<ul>
628<li><a href="#h3-Usage">Usage</a></li>
629</ul>
630</li>
631<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
632<li><a href="#h2-NOTES">NOTES</a></li>
633<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
634<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
635</ul>
636</div>
637</BODY>
638</HTML>
639