.\"***************************************************************************
-.\" Copyright (c) 2008 Free Software Foundation, Inc. *
+.\" Copyright (c) 2008-2010,2012 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 *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_threads.3x,v 1.10 2008/04/05 23:51:41 tom Exp $
+.\" $Id: curs_threads.3x,v 1.19 2012/05/26 17:03:26 tom Exp $
.TH curs_threads 3X ""
+.de bP
+.IP \(bu 4
+..
.na
.hy 0
.SH NAME
\fBuse_screen\fR,
-\fBuse_window\fR - \fBcurses\fR thread support
+\fBuse_window\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_WINDOW_CB func, void *data);\fR
+\fBint use_screen(SCREEN *scr, NCURSES_SCREEN_CB func, void *data);\fR
.br
-\fBint use_window(WINDOW *win, NCURSES_SCREEN_CB func, void *data);\fR
+\fBint use_window(WINDOW *win, NCURSES_WINDOW_CB func, void *data);\fR
.br
.SH DESCRIPTION
This implementation can be configured to provide rudimentary support
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,
altered during operation.
In addition,
they use data which is maintained within a hierarchy of scopes.
-.RS
-.TP 3
--
+.RS 3
+.bP
global data, e.g., used in the low-level terminfo or termcap interfaces.
-.TP 3
--
+.bP
terminal data, e.g., associated with a call to \fIset_curterm\fP.
The terminal data are initialized when screens are created.
-.TP 3
--
+.bP
screen data, e.g., associated with a call to \fInewterm\fP or \fIinitscr\fP.
-.TP 3
--
+.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.
-.TP 3
--
+.bP
reentrant, i.e., it uses only the data passed as parameters.
.RE
.PP
clrtoeol/window (stdscr)
color_content/screen
color_set/window (stdscr)
-copywin/window (both source, target)
+copywin/window locks(source, target)
cur_term/terminal
curs_set/screen
curscr/screen (readonly)
delay_output/screen
delch/window (stdscr)
deleteln/window (stdscr)
-delscreen/reentrant
-delwin/reentrant
+delscreen/global locks(screenlist, screen)
+delwin/global locks(windowlist)
derwin/screen
doupdate/screen
-dupwin/screen
+dupwin/screen locks(window)
echo/screen
echo_wchar/window (stdscr)
echochar/window (stdscr)
inchstr/window (stdscr)
init_color/screen
init_pair/screen
-initscr/global
+initscr/global locks(screenlist)
innstr/window (stdscr)
innwstr/window (stdscr)
ins_nwstr/window (stdscr)
mvwvline/window
mvwvline_set/window
napms/reentrant
-newpad/reentrant
+newpad/global locks(windowlist)
newscr/screen (readonly)
-newterm/global
-newwin/reentrant
+newterm/global locks(screenlist)
+newwin/global locks(windowlist)
nl/screen
nocbreak/screen
nodelay/window
numfnames/global (readonly)
numnames/global (readonly)
ospeed/global
-overlay/window (both source, target)
-overwrite/window (both source, target)
+overlay/window locks(source, target)
+overwrite/window locks(source, target)
pair_content/screen
pecho_wchar/screen
pechochar/screen
reset_prog_mode/screen
reset_shell_mode/screen
resetty/terminal
-resize_term/screen
+resize_term/screen locks(windowlist)
resizeterm/screen
restartterm/screen
ripoffline/global (static data)
set_curterm/screen
set_escdelay/screen
set_tabsize/screen
-set_term/reentrant
+set_term/global locks(screenlist, screen)
setcchar/reentrant
setscrreg/window (stdscr)
setupterm/global
use_env/global (static data)
use_extended_names/global (static data)
use_legacy_coding/screen
-use_screen/reentrant
-use_window/reentrant
+use_screen/global locks(screenlist, screen)
+use_window/global locks(windowlist, window)
vid_attr/screen
vid_puts/screen
vidattr/screen
wprintw/window
wredrawln/window
wrefresh/screen
-wresize/window
+wresize/window locks(windowlist)
wscanw/screen
wscrl/window
wsetscrreg/window
be conditioned using NCURSES_VERSION.
.SH SEE ALSO
\fBcurses\fR(3X),
-\fBcurs_opaque\fR(3X)
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
+\fBcurs_opaque\fR(3X),
+\fBcurs_variables\fR(3X).