meta man page on MirBSD

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



curs_inopts(3)	    UNIX Programmer's Manual	   curs_inopts(3)

NAME
     cbreak, nocbreak, echo, noecho, halfdelay, intrflush,
     keypad, meta, nodelay, notimeout, raw, noraw, noqiflush,
     qiflush, timeout, wtimeout, typeahead - curses input options

SYNOPSIS
     #include <curses.h>

     int cbreak(void);
     int nocbreak(void);
     int echo(void);
     int noecho(void);
     int halfdelay(int tenths);
     int intrflush(WINDOW *win, bool bf);
     int keypad(WINDOW *win, bool bf);
     int meta(WINDOW *win, bool bf);
     int nodelay(WINDOW *win, bool bf);
     int raw(void);
     int noraw(void);
     void noqiflush(void);
     void qiflush(void);
     int notimeout(WINDOW *win, bool bf);
     void timeout(int delay);
     void wtimeout(WINDOW *win, int delay);
     int typeahead(int fd);

DESCRIPTION
     Normally, the tty driver buffers typed  characters	 until	a
     newline  or  carriage  return  is typed.  The cbreak routine
     disables line buffering and erase/kill  character-processing
     (interrupt and flow control characters are unaffected), mak-
     ing characters typed by the user  immediately  available  to
     the  program.   The nocbreak routine returns the terminal to
     normal (cooked) mode.

     Initially the terminal may or may not be in cbreak mode,  as
     the  mode	is  inherited;	therefore,  a program should call
     cbreak or nocbreak explicitly.   Most  interactive	 programs
     using  curses  set	 the cbreak mode.  Note that cbreak over-
     rides raw. [See curs_getch(3) for a discussion of how  these
     routines interact with echo and noecho.]

     The echo and  noecho  routines  control  whether  characters
     typed  by	the  user  are echoed by getch as they are typed.
     Echoing by the tty driver is always disabled, but	initially
     getch  is in echo mode, so characters typed are echoed.  Au-
     thors of most interactive programs prefer to  do  their  own
     echoing  in  a controlled area of the screen, or not to echo
     at all, so they disable  echoing  by  calling  noecho.  [See
     curs_getch(3)  for	 a  discussion	of how these routines in-
     teract with cbreak and nocbreak.]

MirOS BSD #10-current	Printed 18.8.2011			1

curs_inopts(3)	    UNIX Programmer's Manual	   curs_inopts(3)

     The halfdelay routine is used for half-delay mode, which  is
     similar  to cbreak mode in that characters typed by the user
     are immediately available to the  program.	  However,  after
     blocking  for  tenths  tenths of seconds, ERR is returned if
     nothing has been typed.  The  value  of  tenths  must  be	a
     number  between 1 and 255.	 Use nocbreak to leave half-delay
     mode.

     If the intrflush option is enabled, (bf is	 TRUE),	 when  an
     interrupt	key is pressed on the keyboard (interrupt, break,
     quit) all output in the tty driver queue  will  be	 flushed,
     giving  the  effect of faster response to the interrupt, but
     causing curses to have the wrong idea  of	what  is  on  the
     screen.   Disabling  (bf  is FALSE), the option prevents the
     flush.  The default for the option is inherited from the tty
     driver settings. The window argument is ignored.

     The keypad option enables the keypad of the user's terminal.
     If	 enabled  (bf is TRUE), the user can press a function key
     (such as an arrow key) and wgetch	returns	 a  single  value
     representing  the function key, as in KEY_LEFT.  If disabled
     (bf is FALSE), curses does not treat function keys specially
     and  the  program	has to interpret the escape sequences it-
     self.  If the keypad in the terminal can be turned on  (made
     to transmit) and off (made to work locally), turning on this
     option causes the terminal	 keypad	 to  be	 turned	 on  when
     wgetch is called.	The default value for keypad is false.

     Initially, whether the terminal returns 7 or  8  significant
     bits  on input depends on the control mode of the tty driver
     [see termio(7)]. To force 8  bits	to  be	returned,  invoke
     meta(win, TRUE); this is equivalent, under POSIX, to setting
     the CS8 flag on the terminal.  To force 7	bits  to  be  re-
     turned,  invoke  meta(win, FALSE); this is equivalent, under
     POSIX, to setting the CS7 flag on the terminal.  The  window
     argument, win, is always ignored.	If the terminfo capabili-
     ties smm (meta_on) and rmm (meta_off) are	defined	 for  the
     terminal,	smm  is sent to the terminal when meta(win, TRUE)
     is called and rmm is sent when meta(win, FALSE) is called.

     The nodelay option causes getch to be a  non-blocking  call.
     If no input is ready, getch returns ERR.  If disabled (bf is
     FALSE), getch waits until a key is pressed.

     While interpreting an input escape sequence, wgetch  sets	a
     timer   while   waiting   for   the   next	  character.   If
     notimeout(win, TRUE) is called, then wgetch does not  set	a
     timer.   The  purpose  of	the  timeout  is to differentiate
     between sequences received from a	function  key  and  those
     typed by a user.

MirOS BSD #10-current	Printed 18.8.2011			2

curs_inopts(3)	    UNIX Programmer's Manual	   curs_inopts(3)

     The raw and noraw routines place the terminal into or out of
     raw mode.	Raw mode is similar to cbreak mode, in that char-
     acters typed are immediately passed through to the user pro-
     gram.   The differences are that in raw mode, the interrupt,
     quit, suspend, and flow control characters	 are  all  passed
     through  uninterpreted, instead of generating a signal.  The
     behavior of the BREAK key depends on other bits in	 the  tty
     driver that are not set by curses.

     When the noqiflush routine is used, normal	 flush	of  input
     and  output  queues  associated with the INTR, QUIT and SUSP
     characters will not be done [see termio(7)].   When  qiflush
     is	 called,  the  queues  will be flushed when these control
     characters are read.  You may want to call noqiflush() in	a
     signal  handler if you want output to continue as though the
     interrupt had not occurred, after the handler exits.

     The timeout and  wtimeout	routines  set  blocking	 or  non-
     blocking  read  for  a  given window.  If delay is negative,
     blocking read is used (i.e., waits indefinitely for  input).
     If delay is zero, then non-blocking read is used (i.e., read
     returns ERR if no input is waiting).  If delay is	positive,
     then  read blocks for delay milliseconds, and returns ERR if
     there is still no input. Hence, these routines  provide  the
     same functionality as nodelay, plus the additional capabili-
     ty of being able to block for only delay milliseconds (where
     delay is positive).

     The curses library does  ``line-breakout  optimization''  by
     looking   for  typeahead  periodically  while  updating  the
     screen.  If input is found, and it is coming from a tty, the
     current  update  is  postponed  until refresh or doupdate is
     called again.  This allows faster response to commands typed
     in	 advance.   Normally,  the  input  FILE pointer passed to
     newterm, or stdin in the case that initscr was used, will be
     used  to  do  this typeahead checking. The typeahead routine
     specifies that the file descriptor fd is to be used to check
     for  typeahead  instead.	If  fd	is  -1, then no typeahead
     checking is done.

RETURN VALUE
     All routines that return an integer return ERR upon  failure
     and  OK  (SVr4  specifies	only "an integer value other than
     ERR") upon successful completion, unless otherwise noted  in
     the preceding routine descriptions.

     X/Open does not define any error conditions. In this  imple-
     mentation,	 functions with a window parameter will return an
     error if it is null. Any function will also return an  error
     if the terminal was not initialized. Also,

	  halfdelay

MirOS BSD #10-current	Printed 18.8.2011			3

curs_inopts(3)	    UNIX Programmer's Manual	   curs_inopts(3)

	       returns an error if its parameter is  outside  the
	       range 1..255.

PORTABILITY
     These functions are described in the  XSI	Curses	standard,
     Issue 4.

     The ncurses library obeys the XPG4 standard and the histori-
     cal practice of the AT&T curses implementations, in that the
     echo bit is cleared when  curses  initializes  the	 terminal
     state.   BSD curses differed from this slightly; it left the
     echo bit on at initialization, but the BSD raw  call  turned
     it	 off as a side-effect.	For best portability, set echo or
     noecho explicitly just after initialization,  even	 if  your
     program remains in cooked mode.

NOTES
     Note that echo, noecho, halfdelay, intrflush, meta, nodelay,
     notimeout,	 noqiflush, qiflush, timeout, and wtimeout may be
     macros.

     The noraw and nocbreak calls follow historical  practice  in
     that  they attempt to restore to normal (`cooked') mode from
     raw and cbreak modes  respectively.   Mixing  raw/noraw  and
     cbreak/nocbreak  calls  leads  to	tty driver control states
     that are hard to predict or understand; it is not recommend-
     ed.

SEE ALSO
     curses(3), curs_getch(3), curs_initscr(3), termio(7)

MirOS BSD #10-current	Printed 18.8.2011			4

[top]

List of man pages available for MirBSD

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