diff options
Diffstat (limited to 'contrib/ncurses/man/curs_threads.3x')
-rw-r--r-- | contrib/ncurses/man/curs_threads.3x | 603 |
1 files changed, 0 insertions, 603 deletions
diff --git a/contrib/ncurses/man/curs_threads.3x b/contrib/ncurses/man/curs_threads.3x deleted file mode 100644 index 17dabdb..0000000 --- a/contrib/ncurses/man/curs_threads.3x +++ /dev/null @@ -1,603 +0,0 @@ -.\"*************************************************************************** -.\" Copyright (c) 2008 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.12 2008/04/12 18:22:51 tom Exp $ -.TH curs_threads 3X "" -.na -.hy 0 -.SH NAME -\fBuse_screen\fR, -\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 -\fBtypedef int (*NCURSES_SCREEN_CB)(SCREEN *, 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 -.br -\fBint use_window(WINDOW *win, NCURSES_SCREEN_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 \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 -.TP 3 -- -global data, e.g., used in the low-level terminfo or termcap interfaces. -.TP 3 -- -terminal data, e.g., associated with a call to \fIset_curterm\fP. -The terminal data are initialized when screens are created. -.TP 3 -- -screen data, e.g., associated with a call to \fInewterm\fP or \fIinitscr\fP. -.TP 3 -- -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 -- -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) -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 TRUE or FALSE, 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) -.\"# -.\"# The following sets edit modes for GNU EMACS -.\"# Local Variables: -.\"# mode:nroff -.\"# fill-column:79 -.\"# End: |