Lines Matching refs:tty
190 int uv_tty_init(uv_loop_t* loop, uv_tty_t* tty, uv_file fd, int unused) { in uv_tty_init() argument
249 uv__stream_init(loop, (uv_stream_t*) tty, UV_TTY); in uv_tty_init()
250 uv__connection_init((uv_stream_t*) tty); in uv_tty_init()
252 tty->handle = handle; in uv_tty_init()
253 tty->u.fd = fd; in uv_tty_init()
254 tty->reqs_pending = 0; in uv_tty_init()
255 tty->flags |= UV_HANDLE_BOUND; in uv_tty_init()
259 tty->flags |= UV_HANDLE_TTY_READABLE | UV_HANDLE_READABLE; in uv_tty_init()
261 tty->tty.rd.unused_ = NULL; in uv_tty_init()
262 tty->tty.rd.read_line_buffer = uv_null_buf_; in uv_tty_init()
263 tty->tty.rd.read_raw_wait = NULL; in uv_tty_init()
266 tty->tty.rd.last_key_len = 0; in uv_tty_init()
267 tty->tty.rd.last_key_offset = 0; in uv_tty_init()
268 tty->tty.rd.last_utf16_high_surrogate = 0; in uv_tty_init()
269 memset(&tty->tty.rd.last_input_record, 0, sizeof tty->tty.rd.last_input_record); in uv_tty_init()
272 tty->flags |= UV_HANDLE_WRITABLE; in uv_tty_init()
275 tty->tty.wr.utf8_bytes_left = 0; in uv_tty_init()
276 tty->tty.wr.utf8_codepoint = 0; in uv_tty_init()
279 tty->tty.wr.previous_eol = 0; in uv_tty_init()
282 tty->tty.wr.ansi_parser_state = ANSI_NORMAL; in uv_tty_init()
350 int uv_tty_set_mode(uv_tty_t* tty, uv_tty_mode_t mode) { in uv_tty_set_mode() argument
357 if (!(tty->flags & UV_HANDLE_TTY_READABLE)) { in uv_tty_set_mode()
361 if (!!mode == !!(tty->flags & UV_HANDLE_TTY_RAW)) { in uv_tty_set_mode()
379 if (tty->flags & UV_HANDLE_READING) { in uv_tty_set_mode()
381 alloc_cb = tty->alloc_cb; in uv_tty_set_mode()
382 read_cb = tty->read_cb; in uv_tty_set_mode()
383 err = uv__tty_read_stop(tty); in uv_tty_set_mode()
394 if (!SetConsoleMode(tty->handle, flags)) { in uv_tty_set_mode()
402 tty->flags &= ~UV_HANDLE_TTY_RAW; in uv_tty_set_mode()
403 tty->flags |= mode ? UV_HANDLE_TTY_RAW : 0; in uv_tty_set_mode()
407 err = uv__tty_read_start(tty, alloc_cb, read_cb); in uv_tty_set_mode()
417 int uv_tty_get_winsize(uv_tty_t* tty, int* width, int* height) { in uv_tty_get_winsize() argument
420 if (!GetConsoleScreenBufferInfo(tty->handle, &info)) { in uv_tty_get_winsize()
447 UnregisterWait(handle->tty.rd.read_raw_wait); in uv_tty_post_raw_read()
448 handle->tty.rd.read_raw_wait = NULL; in uv_tty_post_raw_read()
464 handle->tty.rd.read_line_buffer = uv_null_buf_; in uv__tty_queue_read_raw()
469 r = RegisterWaitForSingleObject(&handle->tty.rd.read_raw_wait, in uv__tty_queue_read_raw()
476 handle->tty.rd.read_raw_wait = NULL; in uv__tty_queue_read_raw()
503 assert(handle->tty.rd.read_line_buffer.base != NULL); in uv_tty_line_read_thread()
504 assert(handle->tty.rd.read_line_buffer.len > 0); in uv_tty_line_read_thread()
507 if (handle->tty.rd.read_line_buffer.len < MAX_INPUT_BUFFER_LENGTH) { in uv_tty_line_read_thread()
508 bytes = handle->tty.rd.read_line_buffer.len; in uv_tty_line_read_thread()
537 handle->tty.rd.read_line_buffer.base, in uv_tty_line_read_thread()
593 handle->tty.rd.read_line_buffer = uv_buf_init(NULL, 0); in uv__tty_queue_read_line()
594 handle->alloc_cb((uv_handle_t*) handle, 8192, &handle->tty.rd.read_line_buffer); in uv__tty_queue_read_line()
595 if (handle->tty.rd.read_line_buffer.base == NULL || in uv__tty_queue_read_line()
596 handle->tty.rd.read_line_buffer.len == 0) { in uv__tty_queue_read_line()
599 &handle->tty.rd.read_line_buffer); in uv__tty_queue_read_line()
602 assert(handle->tty.rd.read_line_buffer.base != NULL); in uv__tty_queue_read_line()
700 #define KEV handle->tty.rd.last_input_record.Event.KeyEvent in uv_process_tty_read_raw_req()
741 while ((records_left > 0 || handle->tty.rd.last_key_len > 0) && in uv_process_tty_read_raw_req()
743 if (handle->tty.rd.last_key_len == 0) { in uv_process_tty_read_raw_req()
746 &handle->tty.rd.last_input_record, in uv_process_tty_read_raw_req()
760 if (handle->tty.rd.last_input_record.EventType == WINDOW_BUFFER_SIZE_EVENT) { in uv_process_tty_read_raw_req()
765 if (handle->tty.rd.last_input_record.EventType != KEY_EVENT) { in uv_process_tty_read_raw_req()
812 handle->tty.rd.last_utf16_high_surrogate = KEV.uChar.UnicodeChar; in uv_process_tty_read_raw_req()
821 handle->tty.rd.last_key[0] = '\033'; in uv_process_tty_read_raw_req()
831 utf16_buffer[0] = handle->tty.rd.last_utf16_high_surrogate; in uv_process_tty_read_raw_req()
837 &handle->tty.rd.last_key[prefix_len], in uv_process_tty_read_raw_req()
838 sizeof handle->tty.rd.last_key, in uv_process_tty_read_raw_req()
847 &handle->tty.rd.last_key[prefix_len], in uv_process_tty_read_raw_req()
848 sizeof handle->tty.rd.last_key, in uv_process_tty_read_raw_req()
854 handle->tty.rd.last_utf16_high_surrogate = 0; in uv_process_tty_read_raw_req()
867 handle->tty.rd.last_key_len = (unsigned char) (prefix_len + char_len); in uv_process_tty_read_raw_req()
868 handle->tty.rd.last_key_offset = 0; in uv_process_tty_read_raw_req()
890 handle->tty.rd.last_key[0] = '\033'; in uv_process_tty_read_raw_req()
897 assert(prefix_len + vt100_len < sizeof handle->tty.rd.last_key); in uv_process_tty_read_raw_req()
898 memcpy(&handle->tty.rd.last_key[prefix_len], vt100, vt100_len); in uv_process_tty_read_raw_req()
900 handle->tty.rd.last_key_len = (unsigned char) (prefix_len + vt100_len); in uv_process_tty_read_raw_req()
901 handle->tty.rd.last_key_offset = 0; in uv_process_tty_read_raw_req()
906 if (handle->tty.rd.last_key_offset < handle->tty.rd.last_key_len) { in uv_process_tty_read_raw_req()
918 buf.base[buf_used++] = handle->tty.rd.last_key[handle->tty.rd.last_key_offset++]; in uv_process_tty_read_raw_req()
932 handle->tty.rd.last_key_offset = 0; in uv_process_tty_read_raw_req()
936 handle->tty.rd.last_key_len = 0; in uv_process_tty_read_raw_req()
967 buf = handle->tty.rd.read_line_buffer; in uv_process_tty_read_line_req()
970 handle->tty.rd.read_line_buffer = uv_null_buf_; in uv_process_tty_read_line_req()
1010 if (handle->tty.rd.read_line_buffer.len == 0) { in uv__process_tty_read_req()
1039 if (handle->tty.rd.last_key_len > 0) { in uv__tty_read_start()
1404 unsigned short argc = handle->tty.wr.ansi_csi_argc; in uv__tty_set_style()
1405 unsigned short* argv = handle->tty.wr.ansi_csi_argv; in uv__tty_set_style()
1574 handle->tty.wr.saved_position.X = info.dwCursorPosition.X; in uv__tty_save_state()
1575 handle->tty.wr.saved_position.Y = info.dwCursorPosition.Y - in uv__tty_save_state()
1580 handle->tty.wr.saved_attributes = info.wAttributes & in uv__tty_save_state()
1600 handle->tty.wr.saved_position.X, in uv__tty_restore_state()
1602 handle->tty.wr.saved_position.Y, in uv__tty_restore_state()
1618 new_attributes |= handle->tty.wr.saved_attributes; in uv__tty_restore_state()
1698 unsigned char utf8_bytes_left = handle->tty.wr.utf8_bytes_left;
1699 unsigned int utf8_codepoint = handle->tty.wr.utf8_codepoint;
1700 unsigned char previous_eol = handle->tty.wr.previous_eol;
1701 unsigned short ansi_parser_state = handle->tty.wr.ansi_parser_state;
1779 handle->tty.wr.ansi_csi_argc = 0;
1787 handle->tty.wr.ansi_csi_argc = 0;
1849 int style = handle->tty.wr.ansi_csi_argc
1850 ? handle->tty.wr.ansi_csi_argv[0] : 1;
1874 if (handle->tty.wr.ansi_csi_argc >=
1875 ARRAY_SIZE(handle->tty.wr.ansi_csi_argv)) {
1880 handle->tty.wr.ansi_csi_argc++;
1881 handle->tty.wr.ansi_csi_argv[handle->tty.wr.ansi_csi_argc - 1] =
1888 handle->tty.wr.ansi_csi_argv[handle->tty.wr.ansi_csi_argc - 1];
1896 handle->tty.wr.ansi_csi_argv[handle->tty.wr.ansi_csi_argc - 1] =
1912 if (handle->tty.wr.ansi_csi_argc >=
1914 ARRAY_SIZE(handle->tty.wr.ansi_csi_argv)) {
1919 handle->tty.wr.ansi_csi_argc++;
1920 handle->tty.wr.ansi_csi_argv[handle->tty.wr.ansi_csi_argc - 1] = 0;
1927 handle->tty.wr.ansi_csi_argc == 0) {
1948 if (handle->tty.wr.ansi_csi_argc == 1 &&
1949 handle->tty.wr.ansi_csi_argv[0] == 25) {
1957 if (handle->tty.wr.ansi_csi_argc == 1 &&
1958 handle->tty.wr.ansi_csi_argv[0] == 25) {
1972 y = -(handle->tty.wr.ansi_csi_argc
1973 ? handle->tty.wr.ansi_csi_argv[0] : 1);
1980 y = handle->tty.wr.ansi_csi_argc
1981 ? handle->tty.wr.ansi_csi_argv[0] : 1;
1988 x = handle->tty.wr.ansi_csi_argc
1989 ? handle->tty.wr.ansi_csi_argv[0] : 1;
1996 x = -(handle->tty.wr.ansi_csi_argc
1997 ? handle->tty.wr.ansi_csi_argv[0] : 1);
2004 y = handle->tty.wr.ansi_csi_argc
2005 ? handle->tty.wr.ansi_csi_argv[0] : 1;
2012 y = -(handle->tty.wr.ansi_csi_argc
2013 ? handle->tty.wr.ansi_csi_argv[0] : 1);
2020 x = (handle->tty.wr.ansi_csi_argc >= 1 &&
2021 handle->tty.wr.ansi_csi_argv[0])
2022 ? handle->tty.wr.ansi_csi_argv[0] - 1 : 0;
2030 y = (handle->tty.wr.ansi_csi_argc >= 1 &&
2031 handle->tty.wr.ansi_csi_argv[0])
2032 ? handle->tty.wr.ansi_csi_argv[0] - 1 : 0;
2033 x = (handle->tty.wr.ansi_csi_argc >= 2 &&
2034 handle->tty.wr.ansi_csi_argv[1])
2035 ? handle->tty.wr.ansi_csi_argv[1] - 1 : 0;
2042 d = handle->tty.wr.ansi_csi_argc
2043 ? handle->tty.wr.ansi_csi_argv[0] : 0;
2052 d = handle->tty.wr.ansi_csi_argc
2053 ? handle->tty.wr.ansi_csi_argv[0] : 0;
2166 handle->tty.wr.utf8_bytes_left = utf8_bytes_left;
2167 handle->tty.wr.utf8_codepoint = utf8_codepoint;
2168 handle->tty.wr.previous_eol = previous_eol;
2169 handle->tty.wr.ansi_parser_state = ansi_parser_state;
2300 handle->tty.rd.read_raw_wait == NULL);