[PATCH 2/4] server: Added get_console_process_list to the protocol.
Roman Pišl
rpisl at seznam.cz
Tue Mar 17 08:28:52 CDT 2020
Signed-off-by: Roman Pišl <rpisl at seznam.cz>
---
include/wine/server_protocol.h | 20 +++++++++++++++++++-
server/protocol.def | 9 +++++++++
server/request.h | 6 ++++++
server/trace.c | 14 ++++++++++++++
4 files changed, 48 insertions(+), 1 deletion(-)
diff --git a/include/wine/server_protocol.h b/include/wine/server_protocol.h
index af4507b5d1..564b2fbe8c 100644
--- a/include/wine/server_protocol.h
+++ b/include/wine/server_protocol.h
@@ -1921,6 +1921,21 @@ struct attach_console_reply
+struct get_console_process_list_request
+{
+ struct request_header __header;
+ data_size_t count;
+};
+struct get_console_process_list_reply
+{
+ struct reply_header __header;
+ data_size_t total;
+ /* VARARG(data,uints); */
+ char __pad_12[4];
+};
+
+
+
struct get_console_wait_event_request
{
struct request_header __header;
@@ -5867,6 +5882,7 @@ enum request
REQ_get_console_renderer_events,
REQ_open_console,
REQ_attach_console,
+ REQ_get_console_process_list,
REQ_get_console_wait_event,
REQ_get_console_mode,
REQ_set_console_mode,
@@ -6171,6 +6187,7 @@ union generic_request
struct get_console_renderer_events_request get_console_renderer_events_request;
struct open_console_request open_console_request;
struct attach_console_request attach_console_request;
+ struct get_console_process_list_request get_console_process_list_request;
struct get_console_wait_event_request get_console_wait_event_request;
struct get_console_mode_request get_console_mode_request;
struct set_console_mode_request set_console_mode_request;
@@ -6473,6 +6490,7 @@ union generic_reply
struct get_console_renderer_events_reply get_console_renderer_events_reply;
struct open_console_reply open_console_reply;
struct attach_console_reply attach_console_reply;
+ struct get_console_process_list_reply get_console_process_list_reply;
struct get_console_wait_event_reply get_console_wait_event_reply;
struct get_console_mode_reply get_console_mode_reply;
struct set_console_mode_reply set_console_mode_reply;
@@ -6706,6 +6724,6 @@ union generic_reply
struct resume_process_reply resume_process_reply;
};
-#define SERVER_PROTOCOL_VERSION 596
+#define SERVER_PROTOCOL_VERSION 597
#endif /* __WINE_WINE_SERVER_PROTOCOL_H */
diff --git a/server/protocol.def b/server/protocol.def
index 722993e59c..7174b64660 100644
--- a/server/protocol.def
+++ b/server/protocol.def
@@ -1531,6 +1531,15 @@ struct console_renderer_event
@END
+/* Get console process list */
+ at REQ(get_console_process_list)
+ data_size_t count; /* maximum number of processes in list */
+ at REPLY
+ data_size_t total;
+ VARARG(data,uints); /* PIDs attached to the console */
+ at END
+
+
/* Get the input queue wait event */
@REQ(get_console_wait_event)
obj_handle_t handle; /* handle to the console */
diff --git a/server/request.h b/server/request.h
index a5472dd1c2..8501d10284 100644
--- a/server/request.h
+++ b/server/request.h
@@ -179,6 +179,7 @@ DECL_HANDLER(free_console);
DECL_HANDLER(get_console_renderer_events);
DECL_HANDLER(open_console);
DECL_HANDLER(attach_console);
+DECL_HANDLER(get_console_process_list);
DECL_HANDLER(get_console_wait_event);
DECL_HANDLER(get_console_mode);
DECL_HANDLER(set_console_mode);
@@ -482,6 +483,7 @@ static const req_handler req_handlers[REQ_NB_REQUESTS] =
(req_handler)req_get_console_renderer_events,
(req_handler)req_open_console,
(req_handler)req_attach_console,
+ (req_handler)req_get_console_process_list,
(req_handler)req_get_console_wait_event,
(req_handler)req_get_console_mode,
(req_handler)req_set_console_mode,
@@ -1145,6 +1147,10 @@ C_ASSERT( FIELD_OFFSET(struct attach_console_reply, std_in) == 8 );
C_ASSERT( FIELD_OFFSET(struct attach_console_reply, std_out) == 12 );
C_ASSERT( FIELD_OFFSET(struct attach_console_reply, std_err) == 16 );
C_ASSERT( sizeof(struct attach_console_reply) == 24 );
+C_ASSERT( FIELD_OFFSET(struct get_console_process_list_request, count) == 12 );
+C_ASSERT( sizeof(struct get_console_process_list_request) == 16 );
+C_ASSERT( FIELD_OFFSET(struct get_console_process_list_reply, total) == 8 );
+C_ASSERT( sizeof(struct get_console_process_list_reply) == 16 );
C_ASSERT( FIELD_OFFSET(struct get_console_wait_event_request, handle) == 12 );
C_ASSERT( sizeof(struct get_console_wait_event_request) == 16 );
C_ASSERT( FIELD_OFFSET(struct get_console_wait_event_reply, event) == 8 );
diff --git a/server/trace.c b/server/trace.c
index 95db31b4cb..cf999b7e70 100644
--- a/server/trace.c
+++ b/server/trace.c
@@ -2030,6 +2030,17 @@ static void dump_attach_console_reply( const struct attach_console_reply *req )
fprintf( stderr, ", std_err=%04x", req->std_err );
}
+static void dump_get_console_process_list_request( const struct get_console_process_list_request *req )
+{
+ fprintf( stderr, " count=%u", req->count );
+}
+
+static void dump_get_console_process_list_reply( const struct get_console_process_list_reply *req )
+{
+ fprintf( stderr, " total=%u", req->total );
+ dump_varargs_uints( ", data=", cur_size );
+}
+
static void dump_get_console_wait_event_request( const struct get_console_wait_event_request *req )
{
fprintf( stderr, " handle=%04x", req->handle );
@@ -4676,6 +4687,7 @@ static const dump_func req_dumpers[REQ_NB_REQUESTS] = {
(dump_func)dump_get_console_renderer_events_request,
(dump_func)dump_open_console_request,
(dump_func)dump_attach_console_request,
+ (dump_func)dump_get_console_process_list_request,
(dump_func)dump_get_console_wait_event_request,
(dump_func)dump_get_console_mode_request,
(dump_func)dump_set_console_mode_request,
@@ -4976,6 +4988,7 @@ static const dump_func reply_dumpers[REQ_NB_REQUESTS] = {
(dump_func)dump_get_console_renderer_events_reply,
(dump_func)dump_open_console_reply,
(dump_func)dump_attach_console_reply,
+ (dump_func)dump_get_console_process_list_reply,
(dump_func)dump_get_console_wait_event_reply,
(dump_func)dump_get_console_mode_reply,
NULL,
@@ -5276,6 +5289,7 @@ static const char * const req_names[REQ_NB_REQUESTS] = {
"get_console_renderer_events",
"open_console",
"attach_console",
+ "get_console_process_list",
"get_console_wait_event",
"get_console_mode",
"set_console_mode",
--
2.20.1
More information about the wine-devel
mailing list