curs_threads man page on Minix

Man page or keyword search:  
man Server   6208 pages
apropos Keyword Search (all sections)
Output format
Minix logo
[printable version]

curs_threads(3X)					      curs_threads(3X)

NAME
       use_screen, use_window - curses thread support

SYNOPSIS
       #include <curses.h>

       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 *data);
       int use_window(WINDOW *win, NCURSES_SCREEN_CB func, void *data);

DESCRIPTION
       This  implementation  can  be configured to provide rudimentary support
       for multi-threaded applications.	 This makes a  different  set  of  li‐
       braries, e.g., libncursest since the binary interfaces are different.

       Rather  than  modify  the interfaces to pass a thread specifier to each
       function, it adds a few functions which can be used in  any  configura‐
       tion  which  hide  the  mutex's needed 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 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 SCREEN structure.

       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.

       The ESCDELAY and TABSIZE global variables are modified by some applica‐
       tions.  To modify them in any configuration, use	 the  set_escdelay  or
       set_tabsize functions.  Other global variables are not modifiable.

       The get_escdelay function returns the value for ESCDELAY.

       The  use_window and use_screen functions provide coarse granularity mu‐
       texes for their respective WINDOW and SCREEN parameters, and call a us‐
       er-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 locale is not  al‐
       tered during operation.	In addition, they use data which is maintained
       within a hierarchy of scopes.

	  ·   global data, e.g., used in the low-level terminfo or termcap in‐
	      terfaces.

	  ·   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.

	  ·   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.

	      Most curses applications operate on one or more windows within a
	      single screen.

	  ·   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 threading:

RETURN VALUE
       These functions all return TRUE or FALSE, except as noted.

NOTES
       Both a macro and a function are provided for each name.

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_VER‐
       SION.

SEE ALSO
       curses(3X), curs_opaque(3X), curs_variables(3X).

							      curs_threads(3X)
[top]

List of man pages available for Minix

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net