Jacek Caban : server: Introduce IOCTL_CONDRV_SET_TITLE ioctl.
Alexandre Julliard
julliard at winehq.org
Tue Jul 21 15:40:21 CDT 2020
Module: wine
Branch: master
Commit: cb28c2dbb0d92bcddea768bd5d43c5caecba6a0f
URL: https://source.winehq.org/git/wine.git/?a=commit;h=cb28c2dbb0d92bcddea768bd5d43c5caecba6a0f
Author: Jacek Caban <jacek at codeweavers.com>
Date: Tue Jul 21 14:56:42 2020 +0200
server: Introduce IOCTL_CONDRV_SET_TITLE ioctl.
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
include/wine/condrv.h | 1 +
server/console.c | 21 +++++++++++++++++++++
2 files changed, 22 insertions(+)
diff --git a/include/wine/condrv.h b/include/wine/condrv.h
index f6888443c9..42ca77d382 100644
--- a/include/wine/condrv.h
+++ b/include/wine/condrv.h
@@ -34,6 +34,7 @@
#define IOCTL_CONDRV_GET_INPUT_INFO CTL_CODE(FILE_DEVICE_CONSOLE, 13, METHOD_BUFFERED, FILE_READ_PROPERTIES)
#define IOCTL_CONDRV_SET_INPUT_INFO CTL_CODE(FILE_DEVICE_CONSOLE, 14, METHOD_BUFFERED, FILE_WRITE_PROPERTIES)
#define IOCTL_CONDRV_GET_TITLE CTL_CODE(FILE_DEVICE_CONSOLE, 15, METHOD_BUFFERED, FILE_READ_PROPERTIES)
+#define IOCTL_CONDRV_SET_TITLE CTL_CODE(FILE_DEVICE_CONSOLE, 16, METHOD_BUFFERED, FILE_WRITE_PROPERTIES)
/* console output ioctls */
#define IOCTL_CONDRV_GET_OUTPUT_INFO CTL_CODE(FILE_DEVICE_CONSOLE, 32, METHOD_BUFFERED, FILE_READ_PROPERTIES)
diff --git a/server/console.c b/server/console.c
index 3a3260645d..df84334448 100644
--- a/server/console.c
+++ b/server/console.c
@@ -1610,6 +1610,27 @@ static int console_input_ioctl( struct fd *fd, ioctl_code_t code, struct async *
if (!console->title_len) return 1;
return set_reply_data( console->title, min( console->title_len, get_reply_max_size() )) != NULL;
+ case IOCTL_CONDRV_SET_TITLE:
+ {
+ data_size_t len = get_req_data_size();
+ struct condrv_renderer_event evt;
+ WCHAR *title = NULL;
+
+ if (len % sizeof(WCHAR))
+ {
+ set_error( STATUS_INVALID_PARAMETER );
+ return 0;
+ }
+
+ if (len && !(title = memdup( get_req_data(), len ))) return 0;
+ free( console->title );
+ console->title = title;
+ console->title_len = len;
+ evt.event = CONSOLE_RENDERER_TITLE_EVENT;
+ console_input_events_append( console, &evt );
+ return 1;
+ }
+
default:
set_error( STATUS_INVALID_HANDLE );
return 0;
More information about the wine-cvs
mailing list