X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fcurs_threads.3x.html;h=dd19f4337e0e1a74b761600488cc732348bd49d8;hp=2a2f0fd98a9caec76e66af14e23397f8ca9ad140;hb=2a32bee362db64f5a06b2124976b928ac3faa578;hpb=ca276baf720e3a44721b9e18955d3f546955c6c8;ds=sidebyside diff --git a/doc/html/man/curs_threads.3x.html b/doc/html/man/curs_threads.3x.html index 2a2f0fd9..dd19f433 100644 --- a/doc/html/man/curs_threads.3x.html +++ b/doc/html/man/curs_threads.3x.html @@ -1,7 +1,6 @@ - +
+ +- curs_threads(3x) curs_threads(3x) --
- use_screen, use_window - curses thread support +
+ curs_threads - curses thread support --
+
#include <curses.h> - typedef int (*NCURSES_WINDOW_CB)(WINDOW *, void *); type- - def int (*NCURSES_SCREEN_CB)(SCREEN *, void *); + typedef int (*NCURSES_WINDOW_CB)(WINDOW *, void *); + typedef int (*NCURSES_SCREEN_CB)(SCREEN *, void *); + int get_escdelay(void); int set_escdelay(int size); int set_tabsize(int size); - int use_screen(SCREEN *scr, NCURSES_WINDOW_CB func, void + int use_screen(SCREEN *scr, NCURSES_SCREEN_CB func, void *data); - int use_window(WINDOW *win, NCURSES_SCREEN_CB func, void + int use_window(WINDOW *win, NCURSES_WINDOW_CB func, void *data); --
- This implementation can be configured to provide rudimen- - tary support for multi-threaded applications. This makes - a different set of libraries, e.g., libncursest since the +
+ This implementation can be configured to provide rudimen- + tary support for multi-threaded applications. This makes + a different set of libraries, e.g., libncursest since the binary interfaces are different. - Rather than modify the interfaces to pass a thread speci- - fier to each function, it adds a few functions which can + Rather than modify the interfaces to pass a thread speci- + fier 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 + to prevent concurrent use of the global variables when configured for threading. - In addition to forcing access to members of the WINDOW - structure to be via functions (see curs_opaque(3x)), it + In addition to forcing access to members of the WINDOW + structure to be via functions (see curs_opaque(3x)), it makes functions of the common global variables, e.g., COL- - ORS, COLOR_PAIRS, COLS, ESCDELAY, LINES, TABSIZE curscr, - newscr and ttytype. Those variables are maintained as + ORS, COLOR_PAIRS, COLS, ESCDELAY, LINES, TABSIZE curscr, + newscr and ttytype. Those variables are maintained as read-only values, stored in the SCREEN structure. - Even this is not enough to make a thread-safe application - using curses. A multi-threaded application would be ex- - pected to have threads updating separate windows (within + Even this is not enough to make a thread-safe application + using curses. A multi-threaded application would be ex- + pected to have threads updating separate windows (within the same device), or updating on separate screens (on dif- - ferent devices). Also, a few of the global variables are - considered writable by some applications. The functions + ferent devices). Also, a few of the global variables are + considered writable by some applications. The functions described here address these special situations. - The ESCDELAY and TABSIZE global variables are modified by - some applications. To modify them in any configuration, - use the set_escdelay or set_tabsize functions. Other + The ESCDELAY and TABSIZE global variables are modified by + some applications. To modify them in any configuration, + use the set_escdelay or set_tabsize functions. Other global variables are not modifiable. - The use_window and use_screen functions provide coarse + The get_escdelay function returns the value for ESCDELAY. + + The use_window and use_screen functions provide coarse granularity mutexes for their respective WINDOW and SCREEN - parameters, and call a user-supplied function, passing it - a data parameter, and returning the value from the user- + parameters, and call a user-supplied function, passing it + a data parameter, and returning the value from the user- supplied function to the application. - USAGE - All of the ncurses library functions assume that the lo- - cale is not altered during operation. In addition, they + +
+ All of the ncurses library functions assume that the lo- + cale is not altered during operation. In addition, they use data which is maintained within a hierarchy of scopes. - - global data, e.g., used in the low-level termin- - fo or termcap interfaces. + o global data, e.g., used in the low-level terminfo + or termcap interfaces. - - terminal data, e.g., associated with a call to - set_curterm. The terminal data are initialized - when screens are created. + o terminal data, e.g., associated with a call to + set_curterm. The terminal data are initialized + when screens are created. - - screen data, e.g., associated with a call to - newterm or initscr. + o screen data, e.g., associated with a call to + newterm or initscr. - - window data, e.g., associated with a call to - newwin or subwin. Windows are associated with - screens. Pads are not necessarily associated - with a particular screen. + o window data, e.g., associated with a call to newwin + or subwin. Windows are associated with screens. + Pads are not necessarily associated with a particu- + lar screen. - Most curses applications operate on one or more - windows within a single screen. + Most curses applications operate on one or more + windows within a single screen. - - reentrant, i.e., it uses only the data passed as - parameters. + o reentrant, i.e., it uses only the data passed as + parameters. This table lists the scope of data used for each symbol in the ncurses library when it is configured to support @@ -178,10 +179,10 @@ 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) @@ -245,10 +246,10 @@ 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) @@ -312,10 +313,10 @@ 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) @@ -379,10 +380,10 @@ mvwinsch window mvwinsnstr window mvwinsstr window + mvwinstr window mvwinwstr window mvwprintw window - mvwscanw screen mvwvline window mvwvline_set window @@ -446,10 +447,10 @@ 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 @@ -513,10 +514,10 @@ wadd_wchnstr window wadd_wchstr window waddch window + waddchnstr window waddchstr window waddnstr window - waddnwstr window waddstr window waddwstr window @@ -549,6 +550,7 @@ wget_wstr screen (input-operation) wgetbkgrnd window wgetch screen (input-operation) + wgetdelay window wgetn_wstr screen (input-operation) wgetnstr screen (input-operation) wgetparent window @@ -579,11 +581,11 @@ wnoutrefresh screen wprintw window wredrawln window + wrefresh screen wresize window locks(windowlist) wscanw screen wscrl window - wsetscrreg window wstandend window wstandout window @@ -596,36 +598,42 @@ wvline_set window --
- These functions all return TRUE or FALSE, except as noted. +
+ These functions all return TRUE or FALSE, except as noted. --
+
Both a macro and a function are provided for each name. --
- 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 ex- +
+ 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 ex- tensions be conditioned using NCURSES_VERSION. --
- curses(3x), curs_opaque(3x) +
+ curses(3x), curs_opaque(3x), curs_variables(3x). curs_threads(3x)-