Commit graph

168 commits

Author SHA1 Message Date
Jacek Caban
45b8489ba5 conhost: Call ensure_tty_input_thread in IOCTL_CONDRV_PEEK implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-01 21:48:20 +02:00
Jacek Caban
5f24f30124 conhost: Terminate pseudo console on input error.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-24 17:45:38 +02:00
Jacek Caban
c440926547 conhost/tests: Don't use inheritable handle for console pipe end.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-24 17:45:33 +02:00
Jacek Caban
f3b8ccb2f7 conhost: Improve bound checking in fill_output.
Inspired by Pengpeng Dong's patch.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-24 17:45:24 +02:00
Pengpeng Dong
b9f1ec8c44 conhost: Validate width param in write_output.
Signed-off-by: Pengpeng Dong <dongpengpeng@uniontech.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-23 15:45:31 +02:00
Haidong Yu
d22e821964 conhost: Input should be restored and input_thread handle should be closed before return.
Signed-off-by: Haidong Yu <yuhaidong@uniontech.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-23 15:45:13 +02:00
Jacek Caban
810873eb75 kernel32: Move Beep implementation to conhost.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-22 21:35:35 +02:00
Jacek Caban
c840de2839 conhost: Fix a leak in create_screen_buffer.
Based on patch by Haidong Yu.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-22 21:35:35 +02:00
Haidong Yu
4eb3ab95c7 conhost: Add missing LeaveCriticalSection.
Signed-off-by: Haidong Yu <yuhaidong@uniontech.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-21 21:42:13 +02:00
Jacek Caban
c47f64bd3e conhost: Use IOCTL_CONDRV_SETUP_INPUT to initialize input in Unix mode.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-21 19:24:19 +02:00
Jacek Caban
158471d676 conhost: Delay creating input thread in Unix mode.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-21 19:24:19 +02:00
Jacek Caban
fc408f3d43 conhost: Force using relative cursor positioning in update_read_output.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-21 19:24:19 +02:00
Jacek Caban
aecf53d0f7 conhost: Use CP_UNIXCP in Unix mode.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-21 19:24:19 +02:00
Jacek Caban
ef5af87f6c conhost: Introduce Unix mode.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-21 19:24:19 +02:00
Jacek Caban
c6909e5254 conhost: Terminate current read request when input when reading tty input fails.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-21 19:24:19 +02:00
Jacek Caban
a33594a048 conhost: Signal console in tty_input if needed.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-21 19:24:19 +02:00
Jacek Caban
da3bd4cb4a conhost: Explicitly set tty cursor position after updating output in write_console.
This avoids absolute cursor position jumps.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-21 19:24:19 +02:00
Francois Gouget
c21a7500ae conhost/tests: Fix the spelling of a comment message.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-21 19:24:19 +02:00
Jacek Caban
67324a4284 conhost: Free screen buffer data in destroy_screen_buffer.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-15 21:43:45 +02:00
Jacek Caban
cc6c5f7823 conhost/tests: Add ReadConsole tests.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-15 21:43:45 +02:00
Jacek Caban
d36a179225 conhost/tests: Allow clear screen on console exit.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-15 21:43:45 +02:00
Jacek Caban
6f5872cbc5 conhost/tests: Improve handling slow conhost replies.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-15 21:43:45 +02:00
Jacek Caban
0cdb070b76 conhost: Add support for ENABLE_LINE_INPUT.
Imported from kernel32/readline.c.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-14 21:38:31 +02:00
Jacek Caban
73f55e2341 conhost: Add support for ENABLE_ECHO_INPUT.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-14 21:38:29 +02:00
Jacek Caban
01d203eebf conhost: Introduce IOCTL_CONDRV_READ_CONSOLE ioctl.
Partially based on kernel32.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-14 21:38:26 +02:00
Jacek Caban
a26bb7b2ef conhost/tests: Wait for child process in test_pseudoconsole.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-11 16:55:40 +02:00
Jacek Caban
5d96c5aac8 conhost/tests: Add WriteConsole tests.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-11 16:55:40 +02:00
Jacek Caban
5ced4a705a conhost: Introduce IOCTL_CONDRV_WRITE_CONSOLE ioctl.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-11 16:55:40 +02:00
Jacek Caban
e58ef508a9 conhost: Use more standard hide cursor sequence.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-08 21:21:04 +02:00
Jacek Caban
ed64fd72a7 conhost/tests: Add tty input tests.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-08 21:20:57 +02:00
Jacek Caban
a8ccb7fa04 conhost: Add tty input implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-08 21:20:51 +02:00
Jacek Caban
33be1cf598 conhost: Move console input processing into a separated function.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-08 21:20:45 +02:00
Jacek Caban
3885b32bc8 conhost: Update tty output in IOCTL_CONDRV_ACTIVATE.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-04 15:47:27 +02:00
Jacek Caban
f332289142 conhost: Update tty output in scroll_output.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-04 15:47:27 +02:00
Jacek Caban
cd193e44a5 conhost: Update tty output in fill_output.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-04 15:47:27 +02:00
Jacek Caban
4100c43576 conhost/tests: Add tty output tests.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-04 15:47:27 +02:00
Jacek Caban
3038674eef conhost: Support tty output in write_output.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-04 15:47:26 +02:00
Jacek Caban
298fa4a7f0 conhost: Synchronize tty cursor position in set_output_info.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-04 15:47:26 +02:00
Jacek Caban
787df87bad conhost/tests: Add initial tty tests.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-04 15:47:26 +02:00
Jacek Caban
4ba7c42370 conhost: Support setting tty title in set_console_title.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-04 15:43:28 +02:00
Jacek Caban
7fe03dbf21 conhost: Initialize tty output.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-04 15:43:26 +02:00
Jacek Caban
9864f9c024 conhost: Support CTRL_C_EVENT in write_console_input.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-01 20:56:43 +02:00
Jacek Caban
af47236499 conhost: Implement IOCTL_CONDRV_SCROLL.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-31 21:41:07 +02:00
Jacek Caban
2dbf14ee80 conhost: Implement IOCTL_CONDRV_FILL_OUTPUT.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-31 21:41:07 +02:00
Alexandre Julliard
58f2326410 conhost: Fix some pointer cast warnings.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-28 21:27:12 +02:00
Jacek Caban
f4661f1b38 conhost: Implement IOCTL_CONDRV_READ_OUTPUT.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-28 19:28:49 +02:00
Jacek Caban
01c05387ce conhost: Implement IOCTL_CONDRV_WRITE_OUTPUT.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-28 19:28:44 +02:00
Jacek Caban
151b42953b conhost: Implement IOCTL_CONDRV_SET_OUTPUT_INFO.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-28 19:28:39 +02:00
Jacek Caban
df8578da8e conhost: Implement IOCTL_CONDRV_GET_OUTPUT_INFO.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-28 19:28:31 +02:00
Jacek Caban
21c99970f3 conhost: Implement IOCTL_CONDRV_SET_MODE.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-27 20:49:30 +02:00
Jacek Caban
e5bd1ba4ad conhost: Implement IOCTL_CONDRV_GET_MODE.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-27 20:49:28 +02:00
Jacek Caban
029843176b conhost: Initial support for screen buffers.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-27 20:49:21 +02:00
Jacek Caban
aef321ec0f conhost: Implement IOCTL_CONDRV_PEEK.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-26 21:25:39 +02:00
Jacek Caban
e703e2da39 conhost: Implement IOCTL_CONDRV_READ_INPUT.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-26 21:25:39 +02:00
Jacek Caban
4225ec994e conhost: Implement IOCTL_CONDRV_WRITE_INPUT.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-26 21:25:39 +02:00
Jacek Caban
d2496e2d5c conhost: Implement IOCTL_CONDRV_SET_TITLE.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-24 22:14:44 +02:00
Jacek Caban
e40de801b5 conhost: Implement IOCTL_CONDRV_GET_TITLE.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-24 22:14:44 +02:00
Jacek Caban
6c7f389c5e conhost: Implement IOCTL_CONDRV_SET_INPUT_INFO.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-24 22:14:44 +02:00
Jacek Caban
0e939eb969 conhost: Implement IOCTL_CONDRV_GET_INPUT_INFO.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-24 22:14:44 +02:00
Jacek Caban
5a151b060a conhost: Implement IOCTL_CONDRV_SET_MODE.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-24 22:14:44 +02:00
Jacek Caban
3c9d10d756 conhost: Implement IOCTL_CONDRV_GET_MODE.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-21 15:36:49 +02:00
Jacek Caban
8231dbf049 condrv: Implement initial ioctl processing.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-21 15:36:49 +02:00
Jacek Caban
e24ba09f8f conhost: Add initial main loop implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-21 15:36:49 +02:00
Jacek Caban
cd9f30f35b conhost: Build with -mwindows.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-18 21:41:53 +02:00
Alexandre Julliard
ed6a5e97e0 programs: Make all program entrypoints cdecl.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-17 17:05:47 +02:00
Alexandre Julliard
4ec78dc7b5 makefiles: Build stub programs with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-24 11:27:57 +02:00
Alexandre Julliard
86b1f94d28 makefiles: Get rid of the MAKE_PROG_RULES variable. 2014-01-02 12:12:57 +01:00
Detlef Riekenberg
b6663f8a52 conhost.exe: Add stub program. 2013-01-03 16:46:55 +01:00