diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c index d8dba0ea357..3214493c995 100644 --- a/dlls/ntdll/loader.c +++ b/dlls/ntdll/loader.c @@ -3192,6 +3192,16 @@ NTSTATUS WINAPI __wine_ctrl_routine( void *arg ) RtlExitUserThread( ret ); } + +/*********************************************************************** + * __wine_unix_call + */ +NTSTATUS WINAPI __wine_unix_call( unixlib_handle_t handle, unsigned int code, void *args ) +{ + return __wine_unix_call_dispatcher( handle, code, args ); +} + + /****************************************************************** * LdrLoadDll (NTDLL.@) */ diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec index 9225779eeaa..1e6576a5422 100644 --- a/dlls/ntdll/ntdll.spec +++ b/dlls/ntdll/ntdll.spec @@ -1690,7 +1690,7 @@ @ cdecl -syscall wine_server_handle_to_fd(long long ptr ptr) # Unix interface -@ stdcall -syscall __wine_unix_call(int64 long ptr) +@ stdcall __wine_unix_call(int64 long ptr) @ stdcall -syscall __wine_unix_spawnvp(long ptr) @ stdcall __wine_ctrl_routine(ptr) @ extern -private __wine_syscall_dispatcher diff --git a/dlls/ntdll/unix/loader.c b/dlls/ntdll/unix/loader.c index ae99832635f..0a445966cc0 100644 --- a/dlls/ntdll/unix/loader.c +++ b/dlls/ntdll/unix/loader.c @@ -356,7 +356,6 @@ static void * const syscalls[] = NtWriteVirtualMemory, NtYieldExecution, __wine_dbg_write, - __wine_unix_call, __wine_unix_spawnvp, wine_nt_to_unix_file_name, wine_server_call, @@ -1347,15 +1346,6 @@ NTSTATUS ntdll_init_syscalls( ULONG id, SYSTEM_SERVICE_TABLE *table, void **disp } -/*********************************************************************** - * __wine_unix_call - */ -NTSTATUS WINAPI __wine_unix_call( unixlib_handle_t handle, unsigned int code, void *args ) -{ - return ((unixlib_entry_t*)(UINT_PTR)handle)[code]( args ); -} - - /*********************************************************************** * load_so_dll */ diff --git a/dlls/ntdll/unixlib.h b/dlls/ntdll/unixlib.h index 97d93ba1724..2f89808e760 100644 --- a/dlls/ntdll/unixlib.h +++ b/dlls/ntdll/unixlib.h @@ -48,6 +48,6 @@ enum ntdll_unix_funcs extern unixlib_handle_t ntdll_unix_handle; -#define NTDLL_UNIX_CALL( func, params ) __wine_unix_call( ntdll_unix_handle, unix_ ## func, params ) +#define NTDLL_UNIX_CALL( func, params ) __wine_unix_call_dispatcher( ntdll_unix_handle, unix_ ## func, params ) #endif /* __NTDLL_UNIXLIB_H */ diff --git a/dlls/wow64/syscall.c b/dlls/wow64/syscall.c index a521c8c16c5..8be5a1c300c 100644 --- a/dlls/wow64/syscall.c +++ b/dlls/wow64/syscall.c @@ -320,19 +320,6 @@ NTSTATUS WINAPI wow64___wine_dbg_write( UINT *args ) } -/********************************************************************** - * wow64___wine_unix_call - */ -NTSTATUS WINAPI wow64___wine_unix_call( UINT *args ) -{ - unixlib_handle_t handle = get_ulong64( &args ); - unsigned int code = get_ulong( &args ); - void *args_ptr = get_ptr( &args ); - - return __wine_unix_call( handle, code, args_ptr ); -} - - /********************************************************************** * wow64___wine_unix_spawnvp */ diff --git a/dlls/wow64/syscall.h b/dlls/wow64/syscall.h index 935d2bc7fce..d4216b8c04c 100644 --- a/dlls/wow64/syscall.h +++ b/dlls/wow64/syscall.h @@ -255,7 +255,6 @@ SYSCALL_ENTRY( NtWriteVirtualMemory ) \ SYSCALL_ENTRY( NtYieldExecution ) \ SYSCALL_ENTRY( __wine_dbg_write ) \ - SYSCALL_ENTRY( __wine_unix_call ) \ SYSCALL_ENTRY( __wine_unix_spawnvp ) \ SYSCALL_ENTRY( wine_nt_to_unix_file_name ) \ SYSCALL_ENTRY( wine_server_call ) \