.\"***************************************************************************
.\" Copyright 2020 Thomas E. Dickey                                          *
.\" Copyright 2008-2015,2017 Free Software Foundation, Inc.                  *
.\"                                                                          *
.\" Permission is hereby granted, free of charge, to any person obtaining a  *
.\" copy of this software and associated documentation files (the            *
.\" "Software"), to deal in the Software without restriction, including      *
.\" without limitation the rights to use, copy, modify, merge, publish,      *
.\" distribute, distribute with modifications, sublicense, and/or sell       *
.\" copies of the Software, and to permit persons to whom the Software is    *
.\" furnished to do so, subject to the following conditions:                 *
.\"                                                                          *
.\" The above copyright notice and this permission notice shall be included  *
.\" in all copies or substantial portions of the Software.                   *
.\"                                                                          *
.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
.\"                                                                          *
.\" Except as contained in this notice, the name(s) of the above copyright   *
.\" holders shall not be used in advertising or otherwise to promote the     *
.\" sale, use or other dealings in this Software without prior written       *
.\" authorization.                                                           *
.\"***************************************************************************
.\"
.\" $Id: curs_threads.3x,v 1.25 2020/02/02 23:34:34 tom Exp $
.TH curs_threads 3X ""
.de bP
.ie n  .IP \(bu 4
.el    .IP \(bu 2
..
.na
.hy 0
.SH NAME
\fBcurs_threads\fR \- \fBcurses\fR thread support
.ad
.hy
.SH SYNOPSIS
\fB#include <curses.h>\fR
.sp
\fBtypedef int (*NCURSES_WINDOW_CB)(WINDOW *, void *);\fR
.br
\fBtypedef int (*NCURSES_SCREEN_CB)(SCREEN *, void *);\fR
.br
\fBint get_escdelay(void);\fR
.br
\fBint set_escdelay(int size);\fR
.br
\fBint set_tabsize(int size);\fR
.br
\fBint use_screen(SCREEN *scr, NCURSES_SCREEN_CB func, void *data);\fR
.br
\fBint use_window(WINDOW *win, NCURSES_WINDOW_CB func, void *data);\fR
.br
.SH DESCRIPTION
This implementation can be configured to provide rudimentary support
for multi-threaded applications.
This makes a different set of libraries, e.g., \fIlibncursest\fP since
the binary interfaces are different.
.PP
Rather than modify the interfaces to pass a thread specifier to
each function, it adds a few functions which can be used in any
configuration which hide the mutex's needed to prevent concurrent
use of the global variables when configured for threading.
.PP
In addition to forcing access to members of the \fBWINDOW\fP structure
to be via functions (see \fBcurs_opaque\fP(3X)),
it makes functions of the common global variables,
e.g.,
COLORS,
COLOR_PAIRS,
COLS,
ESCDELAY,
LINES,
TABSIZE
curscr,
newscr and
ttytype.
Those variables are maintained as read-only values, stored in the \fBSCREEN\fP
structure.
.PP
Even this is not enough to make a thread-safe application using curses.
A multi-threaded application would be expected to have threads updating
separate windows (within the same device),
or updating on separate screens (on different devices).
Also, a few of the global variables are considered writable by some
applications.
The functions described here address these special situations.
.PP
The ESCDELAY and TABSIZE global variables are modified by some applications.
To modify them in any configuration,
use the \fBset_escdelay\fP or \fBset_tabsize\fP functions.
Other global variables are not modifiable.
.PP
The \fBget_escdelay\fP function returns the value for ESCDELAY.
.PP
The \fBuse_window\fP and \fBuse_screen\fP functions provide coarse
granularity mutexes for their respective \fBWINDOW\fP and \fBSCREEN\fP
parameters, and call a user-supplied function,
passing it a \fIdata\fP parameter,
and returning the value from the user-supplied function to the application.
.\" ***************************************************************************
.SS USAGE
All of the ncurses library functions assume that the locale is not
altered during operation.
In addition,
they use data which is maintained within a hierarchy of scopes.
.RS 3
.bP
global data, e.g., used in the low-level terminfo or termcap interfaces.
.bP
terminal data, e.g., associated with a call to \fIset_curterm\fP.
The terminal data are initialized when screens are created.
.bP
screen data, e.g., associated with a call to \fInewterm\fP or \fIinitscr\fP.
.bP
window data, e.g., associated with a call to \fInewwin\fP or \fIsubwin\fP.
Windows are associated with screens.
Pads are not necessarily associated with a particular screen.
.IP
Most curses applications operate on one or more windows within a single screen.
.bP
reentrant, i.e., it uses only the data passed as parameters.
.RE
.PP
This table lists the scope of data used for each symbol in the
ncurses library when it is configured to support threading:
.TS
center tab(/);
l l
l l .
Symbol/Scope
=
BC/global
COLORS/screen (readonly)
COLOR_PAIR/reentrant
COLOR_PAIRS/screen (readonly)
COLS/screen (readonly)
ESCDELAY/screen (readonly, see \fIset_escdelay\fP)
LINES/screen (readonly)
PAIR_NUMBER/reentrant
PC/global
SP/global
TABSIZE/screen (readonly)
UP/global
acs_map/screen (readonly)
add_wch/window (stdscr)
add_wchnstr/window (stdscr)
add_wchstr/window (stdscr)
addch/window (stdscr)
addchnstr/window (stdscr)
addchstr/window (stdscr)
addnstr/window (stdscr)
addnwstr/window (stdscr)
addstr/window (stdscr)
addwstr/window (stdscr)
assume_default_colors/screen
attr_get/window (stdscr)
attr_off/window (stdscr)
attr_on/window (stdscr)
attr_set/window (stdscr)
attroff/window (stdscr)
attron/window (stdscr)
attrset/window (stdscr)
baudrate/screen
beep/screen
bkgd/window (stdscr)
bkgdset/window (stdscr)
bkgrnd/window (stdscr)
bkgrndset/window (stdscr)
boolcodes/global (readonly)
boolfnames/global (readonly)
boolnames/global (readonly)
border/window (stdscr)
border_set/window (stdscr)
box/window (stdscr)
box_set/window (stdscr)
can_change_color/terminal
cbreak/screen
chgat/window (stdscr)
clear/window (stdscr)
clearok/window
clrtobot/window (stdscr)
clrtoeol/window (stdscr)
color_content/screen
color_set/window (stdscr)
copywin/window locks(source, target)
cur_term/terminal
curs_set/screen
curscr/screen (readonly)
curses_version/global (readonly)
def_prog_mode/terminal
def_shell_mode/terminal
define_key/screen
del_curterm/screen
delay_output/screen
delch/window (stdscr)
deleteln/window (stdscr)
delscreen/global locks(screenlist, screen)
delwin/global locks(windowlist)
derwin/screen
doupdate/screen
dupwin/screen locks(window)
echo/screen
echo_wchar/window (stdscr)
echochar/window (stdscr)
endwin/screen
erase/window (stdscr)
erasechar/window (stdscr)
erasewchar/window (stdscr)
filter/global
flash/terminal
flushinp/screen
get_wch/screen (input-operation)
get_wstr/screen (input-operation)
getattrs/window
getbegx/window
getbegy/window
getbkgd/window
getbkgrnd/window
getcchar/reentrant
getch/screen (input-operation)
getcurx/window
getcury/window
getmaxx/window
getmaxy/window
getmouse/screen (input-operation)
getn_wstr/screen (input-operation)
getnstr/screen (input-operation)
getparx/window
getpary/window
getstr/screen (input-operation)
getwin/screen (input-operation)
halfdelay/screen
has_colors/terminal
has_ic/terminal
has_il/terminal
has_key/screen
hline/window (stdscr)
hline_set/window (stdscr)
idcok/window
idlok/window
immedok/window
in_wch/window (stdscr)
in_wchnstr/window (stdscr)
in_wchstr/window (stdscr)
inch/window (stdscr)
inchnstr/window (stdscr)
inchstr/window (stdscr)
init_color/screen
init_pair/screen
initscr/global locks(screenlist)
innstr/window (stdscr)
innwstr/window (stdscr)
ins_nwstr/window (stdscr)
ins_wch/window (stdscr)
ins_wstr/window (stdscr)
insch/window (stdscr)
insdelln/window (stdscr)
insertln/window (stdscr)
insnstr/window (stdscr)
insstr/window (stdscr)
instr/window (stdscr)
intrflush/terminal
inwstr/window (stdscr)
is_cleared/window
is_idcok/window
is_idlok/window
is_immedok/window
is_keypad/window
is_leaveok/window
is_linetouched/window
is_nodelay/window
is_notimeout/window
is_scrollok/window
is_syncok/window
is_term_resized/terminal
is_wintouched/window
isendwin/screen
key_defined/screen
key_name/global (static data)
keybound/screen
keyname/global (static data)
keyok/screen
keypad/window
killchar/terminal
killwchar/terminal
leaveok/window
longname/screen
mcprint/terminal
meta/screen
mouse_trafo/window (stdscr)
mouseinterval/screen
mousemask/screen
move/window (stdscr)
mvadd_wch/window (stdscr)
mvadd_wchnstr/window (stdscr)
mvadd_wchstr/window (stdscr)
mvaddch/window (stdscr)
mvaddchnstr/window (stdscr)
mvaddchstr/window (stdscr)
mvaddnstr/window (stdscr)
mvaddnwstr/window (stdscr)
mvaddstr/window (stdscr)
mvaddwstr/window (stdscr)
mvchgat/window (stdscr)
mvcur/screen
mvdelch/window (stdscr)
mvderwin/window (stdscr)
mvget_wch/screen (input-operation)
mvget_wstr/screen (input-operation)
mvgetch/screen (input-operation)
mvgetn_wstr/screen (input-operation)
mvgetnstr/screen (input-operation)
mvgetstr/screen (input-operation)
mvhline/window (stdscr)
mvhline_set/window (stdscr)
mvin_wch/window (stdscr)
mvin_wchnstr/window (stdscr)
mvin_wchstr/window (stdscr)
mvinch/window (stdscr)
mvinchnstr/window (stdscr)
mvinchstr/window (stdscr)
mvinnstr/window (stdscr)
mvinnwstr/window (stdscr)
mvins_nwstr/window (stdscr)
mvins_wch/window (stdscr)
mvins_wstr/window (stdscr)
mvinsch/window (stdscr)
mvinsnstr/window (stdscr)
mvinsstr/window (stdscr)
mvinstr/window (stdscr)
mvinwstr/window (stdscr)
mvprintw/window (stdscr)
mvscanw/screen
mvvline/window (stdscr)
mvvline_set/window (stdscr)
mvwadd_wch/window
mvwadd_wchnstr/window
mvwadd_wchstr/window
mvwaddch/window
mvwaddchnstr/window
mvwaddchstr/window
mvwaddnstr/window
mvwaddnwstr/window
mvwaddstr/window
mvwaddwstr/window
mvwchgat/window
mvwdelch/window
mvwget_wch/screen (input-operation)
mvwget_wstr/screen (input-operation)
mvwgetch/screen (input-operation)
mvwgetn_wstr/screen (input-operation)
mvwgetnstr/screen (input-operation)
mvwgetstr/screen (input-operation)
mvwhline/window
mvwhline_set/window
mvwin/window
mvwin_wch/window
mvwin_wchnstr/window
mvwin_wchstr/window
mvwinch/window
mvwinchnstr/window
mvwinchstr/window
mvwinnstr/window
mvwinnwstr/window
mvwins_nwstr/window
mvwins_wch/window
mvwins_wstr/window
mvwinsch/window
mvwinsnstr/window
mvwinsstr/window
mvwinstr/window
mvwinwstr/window
mvwprintw/window
mvwscanw/screen
mvwvline/window
mvwvline_set/window
napms/reentrant
newpad/global locks(windowlist)
newscr/screen (readonly)
newterm/global locks(screenlist)
newwin/global locks(windowlist)
nl/screen
nocbreak/screen
nodelay/window
noecho/screen
nofilter/global
nonl/screen
noqiflush/terminal
noraw/screen
notimeout/window
numcodes/global (readonly)
numfnames/global (readonly)
numnames/global (readonly)
ospeed/global
overlay/window locks(source, target)
overwrite/window locks(source, target)
pair_content/screen
pecho_wchar/screen
pechochar/screen
pnoutrefresh/screen
prefresh/screen
printw/window
putp/global
putwin/window
qiflush/terminal
raw/screen
redrawwin/window
refresh/screen
reset_prog_mode/screen
reset_shell_mode/screen
resetty/terminal
resize_term/screen locks(windowlist)
resizeterm/screen
restartterm/screen
ripoffline/global (static data)
savetty/terminal
scanw/screen
scr_dump/screen
scr_init/screen
scr_restore/screen
scr_set/screen
scrl/window (stdscr)
scroll/window
scrollok/window
set_curterm/screen
set_escdelay/screen
set_tabsize/screen
set_term/global locks(screenlist, screen)
setcchar/reentrant
setscrreg/window (stdscr)
setupterm/global
slk_attr/screen
slk_attr_off/screen
slk_attr_on/screen
slk_attr_set/screen
slk_attroff/screen
slk_attron/screen
slk_attrset/screen
slk_clear/screen
slk_color/screen
slk_init/screen
slk_label/screen
slk_noutrefresh/screen
slk_refresh/screen
slk_restore/screen
slk_set/screen
slk_touch/screen
slk_wset/screen
standend/window
standout/window
start_color/screen
stdscr/screen (readonly)
strcodes/global (readonly)
strfnames/global (readonly)
strnames/global (readonly)
subpad/window
subwin/window
syncok/window
term_attrs/screen
termattrs/screen
termname/terminal
tgetent/global
tgetflag/global
tgetnum/global
tgetstr/global
tgoto/global
tigetflag/terminal
tigetnum/terminal
tigetstr/terminal
timeout/window (stdscr)
touchline/window
touchwin/window
tparm/global (static data)
tputs/screen
trace/global (static data)
ttytype/screen (readonly)
typeahead/screen
unctrl/screen
unget_wch/screen (input-operation)
ungetch/screen (input-operation)
ungetmouse/screen (input-operation)
untouchwin/window
use_default_colors/screen
use_env/global (static data)
use_extended_names/global (static data)
use_legacy_coding/screen
use_screen/global locks(screenlist, screen)
use_window/global locks(windowlist, window)
vid_attr/screen
vid_puts/screen
vidattr/screen
vidputs/screen
vline/window (stdscr)
vline_set/window (stdscr)
vw_printw/window
vw_scanw/screen
vwprintw/window
vwscanw/screen
wadd_wch/window
wadd_wchnstr/window
wadd_wchstr/window
waddch/window
waddchnstr/window
waddchstr/window
waddnstr/window
waddnwstr/window
waddstr/window
waddwstr/window
wattr_get/window
wattr_off/window
wattr_on/window
wattr_set/window
wattroff/window
wattron/window
wattrset/window
wbkgd/window
wbkgdset/window
wbkgrnd/window
wbkgrndset/window
wborder/window
wborder_set/window
wchgat/window
wclear/window
wclrtobot/window
wclrtoeol/window
wcolor_set/window
wcursyncup/screen (affects window plus parents)
wdelch/window
wdeleteln/window
wecho_wchar/window
wechochar/window
wenclose/window
werase/window
wget_wch/screen (input-operation)
wget_wstr/screen (input-operation)
wgetbkgrnd/window
wgetch/screen (input-operation)
wgetdelay/window
wgetn_wstr/screen (input-operation)
wgetnstr/screen (input-operation)
wgetparent/window
wgetscrreg/window
wgetstr/screen (input-operation)
whline/window
whline_set/window
win_wch/window
win_wchnstr/window
win_wchstr/window
winch/window
winchnstr/window
winchstr/window
winnstr/window
winnwstr/window
wins_nwstr/window
wins_wch/window
wins_wstr/window
winsch/window
winsdelln/window
winsertln/window
winsnstr/window
winsstr/window
winstr/window
winwstr/window
wmouse_trafo/window
wmove/window
wnoutrefresh/screen
wprintw/window
wredrawln/window
wrefresh/screen
wresize/window locks(windowlist)
wscanw/screen
wscrl/window
wsetscrreg/window
wstandend/window
wstandout/window
wsyncdown/screen (affects window plus parents)
wsyncup/screen (affects window plus parents)
wtimeout/window
wtouchln/window
wunctrl/global (static data)
wvline/window
wvline_set/window
.TE
.\" ***************************************************************************
.SH RETURN VALUE
These functions all return \fBTRUE\fP or \fBFALSE\fP, except as noted.
.SH NOTES
Both a macro and a function are provided for each name.
.SH PORTABILITY
These routines are specific to ncurses.
They were not supported on Version 7, BSD or System V implementations.
It is recommended that any code depending on ncurses extensions
be conditioned using NCURSES_VERSION.
.SH SEE ALSO
\fBcurses\fR(3X),
\fBcurs_opaque\fR(3X),
\fBcurs_variables\fR(3X).
