.\"***************************************************************************
-.\" Copyright (c) 2008-2014,2015 Free Software Foundation, Inc. *
+.\" Copyright 2021,2022 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 *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_threads.3x,v 1.23 2015/12/05 18:47:04 tom Exp $
+.\" $Id: curs_threads.3x,v 1.31 2022/02/12 20:05:11 tom Exp $
.TH curs_threads 3X ""
.de bP
-.IP \(bu 4
+.ie n .IP \(bu 4
+.el .IP \(bu 2
..
.na
.hy 0
.SH NAME
-\fBcurs_threads\fR \- \fBcurses\fR thread support
+\fBcurs_threads\fP \- \fBcurses\fP thread support
.ad
.hy
.SH SYNOPSIS
-\fB#include <curses.h>\fR
+\fB#include <curses.h>\fP
.sp
-\fBtypedef int (*NCURSES_WINDOW_CB)(WINDOW *, void *);\fR
+\fBtypedef int (*NCURSES_WINDOW_CB)(WINDOW *, void *);\fP
.br
-\fBtypedef int (*NCURSES_SCREEN_CB)(SCREEN *, void *);\fR
-.br
-\fBint get_escdelay(void);\fR
-.br
-\fBint set_escdelay(int size);\fR
+\fBtypedef int (*NCURSES_SCREEN_CB)(SCREEN *, void *);\fP
+.sp
+\fBint get_escdelay(void);\fP
.br
-\fBint set_tabsize(int size);\fR
+\fBint set_escdelay(int \fIms\fB);\fR
.br
-\fBint use_screen(SCREEN *scr, NCURSES_SCREEN_CB func, void *data);\fR
+\fBint set_tabsize(int \fIcols\fB);\fR
+.sp
+\fBint use_screen(SCREEN *\fIscr\fB, NCURSES_SCREEN_CB \fIfunc\fB, void *\fIdata\fB);\fR
.br
-\fBint use_window(WINDOW *win, NCURSES_WINDOW_CB func, void *data);\fR
+\fBint use_window(WINDOW *\fIwin\fB, NCURSES_WINDOW_CB \fIfunc\fB, void *\fIdata\fB);\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
+This makes a different set of libraries, e.g., \fBlibncursest\fP since
the binary interfaces are different.
.PP
Rather than modify the interfaces to pass a thread specifier to
.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.
+terminal data, e.g., associated with a call to \fBset_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.
+screen data, e.g., associated with a call to \fBnewterm\fP or \fBinitscr\fP.
.bP
-window data, e.g., associated with a call to \fInewwin\fP or \fIsubwin\fP.
+window data, e.g., associated with a call to \fBnewwin\fP or \fBsubwin\fP.
Windows are associated with screens.
Pads are not necessarily associated with a particular screen.
.IP
COLOR_PAIR/reentrant
COLOR_PAIRS/screen (readonly)
COLS/screen (readonly)
-ESCDELAY/screen (readonly, see \fIset_escdelay\fP)
+ESCDELAY/screen (readonly, see \fBset_escdelay\fP)
LINES/screen (readonly)
PAIR_NUMBER/reentrant
PC/global
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).
+\fBcurses\fP(3X),
+\fBcurs_opaque\fP(3X),
+\fBcurs_variables\fP(3X).