mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-06 09:35:52 +00:00
ntdll: Replace the __wine_unix_call() syscall by a function calling through the dispatcher.
This commit is contained in:
parent
7e680152d4
commit
ee147d9216
|
@ -3192,6 +3192,16 @@ NTSTATUS WINAPI __wine_ctrl_routine( void *arg )
|
||||||
RtlExitUserThread( ret );
|
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.@)
|
* LdrLoadDll (NTDLL.@)
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1690,7 +1690,7 @@
|
||||||
@ cdecl -syscall wine_server_handle_to_fd(long long ptr ptr)
|
@ cdecl -syscall wine_server_handle_to_fd(long long ptr ptr)
|
||||||
|
|
||||||
# Unix interface
|
# 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 -syscall __wine_unix_spawnvp(long ptr)
|
||||||
@ stdcall __wine_ctrl_routine(ptr)
|
@ stdcall __wine_ctrl_routine(ptr)
|
||||||
@ extern -private __wine_syscall_dispatcher
|
@ extern -private __wine_syscall_dispatcher
|
||||||
|
|
|
@ -356,7 +356,6 @@ static void * const syscalls[] =
|
||||||
NtWriteVirtualMemory,
|
NtWriteVirtualMemory,
|
||||||
NtYieldExecution,
|
NtYieldExecution,
|
||||||
__wine_dbg_write,
|
__wine_dbg_write,
|
||||||
__wine_unix_call,
|
|
||||||
__wine_unix_spawnvp,
|
__wine_unix_spawnvp,
|
||||||
wine_nt_to_unix_file_name,
|
wine_nt_to_unix_file_name,
|
||||||
wine_server_call,
|
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
|
* load_so_dll
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -48,6 +48,6 @@ enum ntdll_unix_funcs
|
||||||
|
|
||||||
extern unixlib_handle_t ntdll_unix_handle;
|
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 */
|
#endif /* __NTDLL_UNIXLIB_H */
|
||||||
|
|
|
@ -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
|
* wow64___wine_unix_spawnvp
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -255,7 +255,6 @@
|
||||||
SYSCALL_ENTRY( NtWriteVirtualMemory ) \
|
SYSCALL_ENTRY( NtWriteVirtualMemory ) \
|
||||||
SYSCALL_ENTRY( NtYieldExecution ) \
|
SYSCALL_ENTRY( NtYieldExecution ) \
|
||||||
SYSCALL_ENTRY( __wine_dbg_write ) \
|
SYSCALL_ENTRY( __wine_dbg_write ) \
|
||||||
SYSCALL_ENTRY( __wine_unix_call ) \
|
|
||||||
SYSCALL_ENTRY( __wine_unix_spawnvp ) \
|
SYSCALL_ENTRY( __wine_unix_spawnvp ) \
|
||||||
SYSCALL_ENTRY( wine_nt_to_unix_file_name ) \
|
SYSCALL_ENTRY( wine_nt_to_unix_file_name ) \
|
||||||
SYSCALL_ENTRY( wine_server_call ) \
|
SYSCALL_ENTRY( wine_server_call ) \
|
||||||
|
|
Loading…
Reference in a new issue