Alexandre Julliard : ntdll: Avoid some duplicate async definitions.

Alexandre Julliard julliard at winehq.org
Thu Aug 5 16:13:39 CDT 2021


Module: wine
Branch: master
Commit: 460755a007cdbb2cd7e702c67cc4d2b9e6049828
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=460755a007cdbb2cd7e702c67cc4d2b9e6049828

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Thu Aug  5 17:22:35 2021 +0200

ntdll: Avoid some duplicate async definitions.

Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/ntdll/unix/file.c         | 21 ---------------------
 dlls/ntdll/unix/socket.c       | 20 --------------------
 dlls/ntdll/unix/unix_private.h | 21 +++++++++++++++++++++
 3 files changed, 21 insertions(+), 41 deletions(-)

diff --git a/dlls/ntdll/unix/file.c b/dlls/ntdll/unix/file.c
index 45e444d8576..9b9d9e92716 100644
--- a/dlls/ntdll/unix/file.c
+++ b/dlls/ntdll/unix/file.c
@@ -135,9 +135,6 @@ WINE_DECLARE_DEBUG_CHANNEL(winediag);
 
 #define MAX_DOS_DRIVES 26
 
-#define FILE_WRITE_TO_END_OF_FILE      ((LONGLONG)-1)
-#define FILE_USE_FILE_POINTER_POSITION ((LONGLONG)-2)
-
 /* just in case... */
 #undef VFAT_IOCTL_READDIR_BOTH
 #undef EXT2_IOC_GETFLAGS
@@ -4680,24 +4677,6 @@ struct async_fileio *alloc_fileio( DWORD size, async_callback_t callback, HANDLE
     return io;
 }
 
-static async_data_t server_async( HANDLE handle, struct async_fileio *user, HANDLE event,
-                                  PIO_APC_ROUTINE apc, void *apc_context, IO_STATUS_BLOCK *io )
-{
-    async_data_t async;
-    async.handle      = wine_server_obj_handle( handle );
-    async.user        = wine_server_client_ptr( user );
-    async.iosb        = wine_server_client_ptr( io );
-    async.event       = wine_server_obj_handle( event );
-    async.apc         = wine_server_client_ptr( apc );
-    async.apc_context = wine_server_client_ptr( apc_context );
-    return async;
-}
-
-static NTSTATUS wait_async( HANDLE handle, BOOL alertable )
-{
-    return NtWaitForSingleObject( handle, alertable, NULL );
-}
-
 /* callback for irp async I/O completion */
 static NTSTATUS irp_completion( void *user, ULONG_PTR *info, NTSTATUS status )
 {
diff --git a/dlls/ntdll/unix/socket.c b/dlls/ntdll/unix/socket.c
index cc8d1426bb5..83b2fe504ab 100644
--- a/dlls/ntdll/unix/socket.c
+++ b/dlls/ntdll/unix/socket.c
@@ -96,26 +96,6 @@
 
 WINE_DEFAULT_DEBUG_CHANNEL(winsock);
 
-#define FILE_USE_FILE_POINTER_POSITION ((LONGLONG)-2)
-
-static async_data_t server_async( HANDLE handle, struct async_fileio *user, HANDLE event,
-                                  PIO_APC_ROUTINE apc, void *apc_context, IO_STATUS_BLOCK *io )
-{
-    async_data_t async;
-    async.handle      = wine_server_obj_handle( handle );
-    async.user        = wine_server_client_ptr( user );
-    async.iosb        = wine_server_client_ptr( io );
-    async.event       = wine_server_obj_handle( event );
-    async.apc         = wine_server_client_ptr( apc );
-    async.apc_context = wine_server_client_ptr( apc_context );
-    return async;
-}
-
-static NTSTATUS wait_async( HANDLE handle, BOOL alertable )
-{
-    return NtWaitForSingleObject( handle, alertable, NULL );
-}
-
 union unix_sockaddr
 {
     struct sockaddr addr;
diff --git a/dlls/ntdll/unix/unix_private.h b/dlls/ntdll/unix/unix_private.h
index a51b04fb3c8..134b50a7f7d 100644
--- a/dlls/ntdll/unix/unix_private.h
+++ b/dlls/ntdll/unix/unix_private.h
@@ -85,6 +85,9 @@ static const SIZE_T signal_stack_size = 0x10000 - 0x3800;
 static const SIZE_T kernel_stack_size = 0x20000;
 static const LONG teb_offset = 0x2000;
 
+#define FILE_WRITE_TO_END_OF_FILE      ((LONGLONG)-1)
+#define FILE_USE_FILE_POINTER_POSITION ((LONGLONG)-2)
+
 /* callbacks to PE ntdll from the Unix side */
 extern void     (WINAPI *pDbgUiRemoteBreakin)( void *arg ) DECLSPEC_HIDDEN;
 extern NTSTATUS (WINAPI *pKiRaiseUserExceptionDispatcher)(void) DECLSPEC_HIDDEN;
@@ -333,6 +336,24 @@ static inline void mutex_unlock( pthread_mutex_t *mutex )
     if (!process_exiting) pthread_mutex_unlock( mutex );
 }
 
+static inline async_data_t server_async( HANDLE handle, struct async_fileio *user, HANDLE event,
+                                         PIO_APC_ROUTINE apc, void *apc_context, IO_STATUS_BLOCK *io )
+{
+    async_data_t async;
+    async.handle      = wine_server_obj_handle( handle );
+    async.user        = wine_server_client_ptr( user );
+    async.iosb        = wine_server_client_ptr( io );
+    async.event       = wine_server_obj_handle( event );
+    async.apc         = wine_server_client_ptr( apc );
+    async.apc_context = wine_server_client_ptr( apc_context );
+    return async;
+}
+
+static inline NTSTATUS wait_async( HANDLE handle, BOOL alertable )
+{
+    return NtWaitForSingleObject( handle, alertable, NULL );
+}
+
 #ifdef _WIN64
 typedef TEB32 WOW_TEB;
 static inline TEB64 *NtCurrentTeb64(void) { return NULL; }




More information about the wine-cvs mailing list