uv_tty_t
— TTY handle¶
TTY handles represent a stream for the console.
uv_tty_t
is a ‘subclass’ of uv_stream_t
.
Data types¶
-
uv_tty_t
¶ TTY handle type.
-
uv_tty_mode_t
¶ New in version 1.2.0.
TTY mode type:
typedef enum { /* Initial/normal terminal mode */ UV_TTY_MODE_NORMAL, /* Raw input mode (On Windows, ENABLE_WINDOW_INPUT is also enabled) */ UV_TTY_MODE_RAW, /* Binary-safe I/O mode for IPC (Unix-only) */ UV_TTY_MODE_IO } uv_tty_mode_t;
API¶
-
int
uv_tty_init
(uv_loop_t* loop, uv_tty_t* handle, uv_file fd, int readable)¶ Initialize a new TTY stream with the given file descriptor. Usually the file descriptor will be:
- 0 = stdin
- 1 = stdout
- 2 = stderr
readable, specifies if you plan on calling
uv_read_start()
with this stream. stdin is readable, stdout is not.On Unix this function will try to open
/dev/tty
and use it if the passed file descriptor refers to a TTY. This lets libuv put the tty in non-blocking mode without affecting other processes that share the tty.Note
If opening
/dev/tty
fails, libuv falls back to blocking writes for non-readable TTY streams.Changed in version 1.5.0:: trying to initialize a TTY stream with a file descriptor that refers to a file returns UV_EINVAL on UNIX.
-
int
uv_tty_set_mode
(uv_tty_t* handle, uv_tty_mode_t mode)¶ Changed in version 1.2.0:: the mode is specified as a
uv_tty_mode_t
value.Set the TTY using the specified terminal mode.
-
int
uv_tty_reset_mode
(void)¶ To be called when the program exits. Resets TTY settings to default values for the next process to take over.
This function is async signal-safe on Unix platforms but can fail with error code
UV_EBUSY
if you call it when execution is insideuv_tty_set_mode()
.
-
int
uv_tty_get_winsize
(uv_tty_t* handle, int* width, int* height)¶ Gets the current Window size. On success it returns 0.
See also
The uv_stream_t
API functions also apply.