1
0
mirror of https://github.com/wine-mirror/wine synced 2024-07-08 03:45:57 +00:00

ntdll: Replace the __wine_unix_call() syscall by a function calling through the dispatcher.

This commit is contained in:
Alexandre Julliard 2022-12-01 16:05:28 +01:00
parent 7e680152d4
commit ee147d9216
6 changed files with 12 additions and 26 deletions

View File

@ -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.@)
*/

View File

@ -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

View File

@ -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
*/

View File

@ -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 */

View File

@ -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
*/

View File

@ -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 ) \