| curs_threads(3X) | curs_threads(3X) |
名称
use_screen, use_window - curses スレッドサポート書式
#include <curses.h>解説
マルチスレッド化されたアプリケーションの基本的なサポートを提供するために、この実装を設定することができます。これは、異なったセットのライブラリを作ります、例えば、バイナリインタフェースが異なっているので、 libncursest。各関数へのスレッド指示子を渡すインタフェースを変更するよりむしろ、スレッドのために設定されるとき、グローバル変数の同時の使用を防ぐためにミューテックスに必要なものを隠す、任意の設定で使用することができるいくつかの関数を追加します。
関数 ( curs_opaque(3x) 参照) を通して WINDOW 構造のメンバへの強制的なアクセスに加えて、それは共通のグローバル変数の関数、例えば、 COLORS, COLOR_PAIRS, COLS, ESCDELAY, LINES, TABSIZE curscr, newscr と ttytype を作ります。それらの変数は、読み込み専用として維持され、 SCREEN 構造に格納されます。
これは、curses を使用するスレッドセーフなアプリケーションを作るために十分ではありません。マルチスレッド化されたアプリケーションには、 (同じデバイス中で) 分離されたウィンドウを更新するするスレッド、または (異なったデバイスで) 分離された画面で更新されると予想されるでしょう。また、グローバル変数のいくつかは、いくつかのアプリケーションによって書き込み可能であると見なされます。ここで説明された関数は、これらが特別な状況で対処します。
ESCDELAY と TABSIZE グローバル変数は、いくつかのアプリケーションによって変更されます。任意の設定でもそれらを変更するためには、 set_escdelay または set_tabsize 関数を使用します。他のグローバル変数は、修正できません。
use_window と use_screen 関数は、それらのそれぞれの WINDOW と SCREEN パラメータのために粗くて細かなミューテックス、ユーザによって供給された関数の呼び出し、 data パラメータの引き渡し、とユーザによって供給された関数からアプリケーションまで値を返すことをを提供します。
使用法
すべての ncurses ライブラリ関数は、操作の間にロケールが変更されないことを仮定します。さらに、それらは、スコープの階層構造中で維持されるデータを使用します。- -
- グローバルデータ、例えば、低レベルである terminfo または termcap インタフェースで使用される。
- -
- 端末データ、例えば、 set_curterm への呼び出しに関連しています。画面が作成されるとき、端末のデータは初期化されます。
- -
- 画面データ、例えば、 newterm または initscr への呼び出しに関連しています。
- -
- ウィンドウデータ、例えば、 newwin または subwin への呼び出しに関連しています。ウィンドウは、画面に関連しています。パッド (pad) は、必ず特定の画面に関連づけられるというわけではありません。
- ほとんどの curses アプリケーションは、単一の画面中の 1 つ以上のウィンドウで操作します。
- -
- リエントラント、すなわち、パラメータとして渡されたデータだけを使用します。
次テーブルは、スレッドをサポートするために設定されるとき、 ncurses ライブラリで各シンボルに使用されるデータのスコープをリストしています:
| Symbol | Scope |
| BC | global |
| COLORS | screen (readonly) |
| COLOR_PAIR | reentrant |
| COLOR_PAIRS | screen (readonly) |
| COLS | screen (readonly) |
| ESCDELAY | screen (readonly, see set_escdelay) |
| 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 |