notimeout, timeout, wtimeout - set timed blocking or non-blocking read

cc [ flag... ] file... -I /usr/xpg4/include  -L  /usr/xpg4/lib \
 -R  /usr/xpg4/lib  -lcurses  [ library... ]
c89 [ flag... ] file... -lcurses [ library... ]
#include <curses.h>
int notimeout(WINDOW *win, bool bf);

void timeout(int delay);

void wtimeout(WINDOW win, int delay);

Is a pointer to the window in which to set the timed blocking.


Is a Boolean expression.


Is the number of milliseconds to block or wait for input.

If bool is TRUE, the notimeout() function disables a timer used by getch(3XCURSES) when handling multibyte function key sequences.

When bool is FALSE and keypad handling is enabled, a timer is set by getch() to handle bytes received that could be the beginning of a function key (for example, ESC). If the remainder of the sequence is not received before the time expires, the first byte is returned; otherwise, the value of the function key is returned. Subsequent calls to the getch() function will return the other bytes received for the incomplete key sequence.

The timeout() and wtimeout() functions set the length of time getch() waits for input for windows stdscr and win, respectively. These functions are similar to nodelay(3XCURSES) except the time to block or wait for input can be specified.

A negative delay causes the program to wait indefinitely for input; a delay of 0 returns ERR if no input is ready; and a positive delay blocks until input arrives or the time specified expires, (in which case, ERR is returned).

On success, the notimeout() function returns OK. Otherwise, it returns ERR.

The timeout() and wtimeout() functions do not return a value.


See attributes(5) for descriptions of the following attributes:

Interface Stability Standard
MT-Level Unsafe

getch(3XCURSES), halfdelay(3XCURSES), libcurses(3XCURSES), nodelay(3XCURSES), attributes(5), standards(5)

June 5, 2002 OmniOS