From 99d68837843c705133eccbaf326c950a3ca27fc1 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard <julliard@winehq.org> Date: Fri, 22 Nov 2024 15:13:28 +0100 Subject: [PATCH] server: Use an explicit struct instead of a typedef for object locators. --- dlls/win32u/winstation.c | 10 +++++----- include/wine/server_protocol.h | 12 ++++++------ server/file.h | 2 +- server/mapping.c | 4 ++-- server/protocol.def | 12 ++++++------ server/request_handlers.h | 2 +- server/request_trace.h | 2 +- server/trace.c | 2 +- tools/make_requests | 2 +- 9 files changed, 24 insertions(+), 24 deletions(-) diff --git a/dlls/win32u/winstation.c b/dlls/win32u/winstation.c index 113db326c2d..7e9f526f099 100644 --- a/dlls/win32u/winstation.c +++ b/dlls/win32u/winstation.c @@ -179,7 +179,7 @@ static NTSTATUS find_shared_session_block( SIZE_T offset, SIZE_T size, struct se return status; } -static const shared_object_t *find_shared_session_object( obj_locator_t locator ) +static const shared_object_t *find_shared_session_object( struct obj_locator locator ) { const shared_object_t *object; struct session_block *block; @@ -204,7 +204,7 @@ NTSTATUS get_shared_desktop( struct object_lock *lock, const desktop_shm_t **des if (!(object = data->shared_desktop)) { - obj_locator_t locator; + struct obj_locator locator; SERVER_START_REQ( get_thread_desktop ) { @@ -239,7 +239,7 @@ NTSTATUS get_shared_queue( struct object_lock *lock, const queue_shm_t **queue_s if (!(object = data->shared_queue)) { - obj_locator_t locator; + struct obj_locator locator; SERVER_START_REQ( get_msg_queue ) { @@ -272,7 +272,7 @@ static NTSTATUS try_get_shared_input( UINT tid, struct object_lock *lock, const if (!(object = cache->object)) { - obj_locator_t locator; + struct obj_locator locator; SERVER_START_REQ( get_thread_input ) { @@ -541,7 +541,7 @@ HDESK WINAPI NtUserGetThreadDesktop( DWORD thread ) BOOL WINAPI NtUserSetThreadDesktop( HDESK handle ) { BOOL ret, was_virtual_desktop = is_virtual_desktop(); - obj_locator_t locator; + struct obj_locator locator; SERVER_START_REQ( set_thread_desktop ) { diff --git a/include/wine/server_protocol.h b/include/wine/server_protocol.h index f80f9b9c3e9..290698e0c7a 100644 --- a/include/wine/server_protocol.h +++ b/include/wine/server_protocol.h @@ -1004,11 +1004,11 @@ typedef volatile struct object_shm_t shm; } shared_object_t; -typedef struct +struct obj_locator { object_id_t id; mem_size_t offset; -} obj_locator_t; +}; @@ -2916,7 +2916,7 @@ struct get_msg_queue_request struct get_msg_queue_reply { struct reply_header __header; - obj_locator_t locator; + struct obj_locator locator; }; @@ -4064,7 +4064,7 @@ struct get_thread_desktop_request struct get_thread_desktop_reply { struct reply_header __header; - obj_locator_t locator; + struct obj_locator locator; obj_handle_t handle; char __pad_28[4]; }; @@ -4079,7 +4079,7 @@ struct set_thread_desktop_request struct set_thread_desktop_reply { struct reply_header __header; - obj_locator_t locator; + struct obj_locator locator; }; @@ -4161,7 +4161,7 @@ struct get_thread_input_request struct get_thread_input_reply { struct reply_header __header; - obj_locator_t locator; + struct obj_locator locator; }; diff --git a/server/file.h b/server/file.h index eb350680db4..4f5fc7b26f1 100644 --- a/server/file.h +++ b/server/file.h @@ -196,7 +196,7 @@ extern void set_session_mapping( struct mapping *mapping ); extern const volatile void *alloc_shared_object(void); extern void free_shared_object( const volatile void *object_shm ); extern void invalidate_shared_object( const volatile void *object_shm ); -extern obj_locator_t get_shared_object_locator( const volatile void *object_shm ); +extern struct obj_locator get_shared_object_locator( const volatile void *object_shm ); #define SHARED_WRITE_BEGIN( object_shm, type ) \ do { \ diff --git a/server/mapping.c b/server/mapping.c index a486fcd8c81..4bdd7c5080a 100644 --- a/server/mapping.c +++ b/server/mapping.c @@ -1422,10 +1422,10 @@ void invalidate_shared_object( const volatile void *object_shm ) SHARED_WRITE_END; } -obj_locator_t get_shared_object_locator( const volatile void *object_shm ) +struct obj_locator get_shared_object_locator( const volatile void *object_shm ) { struct session_object *object = CONTAINING_RECORD( object_shm, struct session_object, obj.shm ); - obj_locator_t locator = {.offset = object->offset, .id = object->obj.id}; + struct obj_locator locator = {.offset = object->offset, .id = object->obj.id}; return locator; } diff --git a/server/protocol.def b/server/protocol.def index 5b58da156f7..65f448c24af 100644 --- a/server/protocol.def +++ b/server/protocol.def @@ -1020,11 +1020,11 @@ typedef volatile struct object_shm_t shm; /* object shared data */ } shared_object_t; -typedef struct +struct obj_locator { object_id_t id; /* object unique id, object data is valid if != 0 */ mem_size_t offset; /* offset of the object in session shared memory */ -} obj_locator_t; +}; /****************************************************************/ /* Request declarations */ @@ -2223,7 +2223,7 @@ struct process_info /* Get the message queue of the current thread */ @REQ(get_msg_queue) @REPLY - obj_locator_t locator; /* locator for the shared session object */ + struct obj_locator locator; /* locator for the shared session object */ @END @@ -2958,7 +2958,7 @@ enum coords_relative @REQ(get_thread_desktop) thread_id_t tid; /* thread id */ @REPLY - obj_locator_t locator; /* locator for the shared session object */ + struct obj_locator locator; /* locator for the shared session object */ obj_handle_t handle; /* handle to the desktop */ @END @@ -2967,7 +2967,7 @@ enum coords_relative @REQ(set_thread_desktop) obj_handle_t handle; /* handle to the desktop */ @REPLY - obj_locator_t locator; /* locator for the shared session object */ + struct obj_locator locator; /* locator for the shared session object */ @END @@ -3020,7 +3020,7 @@ enum coords_relative @REQ(get_thread_input) thread_id_t tid; /* id of thread */ @REPLY - obj_locator_t locator; /* locator for the shared session object */ + struct obj_locator locator; /* locator for the shared session object */ @END diff --git a/server/request_handlers.h b/server/request_handlers.h index 86adb385e52..0adf21dd7c7 100644 --- a/server/request_handlers.h +++ b/server/request_handlers.h @@ -610,7 +610,6 @@ C_ASSERT( sizeof(lparam_t) == 8 ); C_ASSERT( sizeof(mem_size_t) == 8 ); C_ASSERT( sizeof(mod_handle_t) == 8 ); C_ASSERT( sizeof(obj_handle_t) == 4 ); -C_ASSERT( sizeof(obj_locator_t) == 16 ); C_ASSERT( sizeof(object_id_t) == 8 ); C_ASSERT( sizeof(process_id_t) == 4 ); C_ASSERT( sizeof(rectangle_t) == 16 ); @@ -622,6 +621,7 @@ C_ASSERT( sizeof(struct generic_map) == 16 ); C_ASSERT( sizeof(struct handle_info) == 20 ); C_ASSERT( sizeof(struct luid) == 8 ); C_ASSERT( sizeof(struct luid_attr) == 12 ); +C_ASSERT( sizeof(struct obj_locator) == 16 ); C_ASSERT( sizeof(struct object_attributes) == 16 ); C_ASSERT( sizeof(struct object_type_info) == 44 ); C_ASSERT( sizeof(struct pe_image_info) == 88 ); diff --git a/server/request_trace.h b/server/request_trace.h index 6932e1e568b..4d475290346 100644 --- a/server/request_trace.h +++ b/server/request_trace.h @@ -13,7 +13,7 @@ static void dump_hw_input( const char *prefix, const union hw_input *val ); static void dump_ioctl_code( const char *prefix, const ioctl_code_t *val ); static void dump_irp_params( const char *prefix, const union irp_params *val ); static void dump_luid( const char *prefix, const struct luid *val ); -static void dump_obj_locator( const char *prefix, const obj_locator_t *val ); +static void dump_obj_locator( const char *prefix, const struct obj_locator *val ); static void dump_rectangle( const char *prefix, const rectangle_t *val ); static void dump_timeout( const char *prefix, const timeout_t *val ); static void dump_uint64( const char *prefix, const unsigned __int64 *val ); diff --git a/server/trace.c b/server/trace.c index 71592840dcc..34218230c29 100644 --- a/server/trace.c +++ b/server/trace.c @@ -490,7 +490,7 @@ static void dump_hw_input( const char *prefix, const union hw_input *input ) } } -static void dump_obj_locator( const char *prefix, const obj_locator_t *locator ) +static void dump_obj_locator( const char *prefix, const struct obj_locator *locator ) { fprintf( stderr, "%s{", prefix ); dump_uint64( "id=", &locator->id ); diff --git a/tools/make_requests b/tools/make_requests index 2b857e768bd..30f2e77643d 100755 --- a/tools/make_requests +++ b/tools/make_requests @@ -39,7 +39,6 @@ my %formats = "abstime_t" => [ 8, 8 ], "rectangle_t" => [ 16, 4 ], "ioctl_code_t" => [ 4, 4 ], - "obj_locator_t" => [ 16, 8 ], # varargs-only structures "context_t" => [ 1728, 8 ], "union apc_call" => [ 64, 8 ], @@ -57,6 +56,7 @@ my %formats = "union message_data" => [ 48, 8 ], "struct object_attributes" => [ 16, 4 ], "struct object_type_info" => [ 44, 4 ], + "struct obj_locator" => [ 16, 8 ], "struct pe_image_info" => [ 88, 8 ], "struct process_info" => [ 40, 8 ], "struct property_data" => [ 16, 8 ], -- GitLab