Commit 1b5ea62e authored by Jacek Caban's avatar Jacek Caban Committed by Alexandre Julliard

ntdll: Introduce wine_unix_call.

parent 69ef7374
...@@ -1612,6 +1612,7 @@ ...@@ -1612,6 +1612,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
@ cdecl -syscall __wine_unix_call(int64 long ptr)
@ cdecl __wine_set_unix_funcs(long ptr) @ cdecl __wine_set_unix_funcs(long ptr)
@ cdecl __wine_init_unix_lib(long long ptr ptr) @ cdecl __wine_init_unix_lib(long long ptr ptr)
@ extern __wine_syscall_dispatcher @ extern __wine_syscall_dispatcher
......
...@@ -1124,6 +1124,15 @@ static NTSTATUS CDECL init_unix_lib( void *module, DWORD reason, const void *ptr ...@@ -1124,6 +1124,15 @@ static NTSTATUS CDECL init_unix_lib( void *module, DWORD reason, const void *ptr
/*********************************************************************** /***********************************************************************
* __wine_unix_call
*/
NTSTATUS CDECL __wine_unix_call( UINT64 handle, unsigned int code, void *args )
{
return ((unixlib_entry_t*)(UINT_PTR)handle)[code]( args );
}
/***********************************************************************
* load_so_dll * load_so_dll
*/ */
static NTSTATUS CDECL load_so_dll( UNICODE_STRING *nt_name, void **module ) static NTSTATUS CDECL load_so_dll( UNICODE_STRING *nt_name, void **module )
......
...@@ -4561,6 +4561,9 @@ static inline PLIST_ENTRY RemoveTailList(PLIST_ENTRY le) ...@@ -4561,6 +4561,9 @@ static inline PLIST_ENTRY RemoveTailList(PLIST_ENTRY le)
/* Wine internal functions */ /* Wine internal functions */
extern NTSTATUS CDECL __wine_init_unix_lib( HMODULE module, DWORD reason, const void *ptr_in, void *ptr_out ); extern NTSTATUS CDECL __wine_init_unix_lib( HMODULE module, DWORD reason, const void *ptr_in, void *ptr_out );
extern NTSTATUS CDECL __wine_unix_call( UINT64 handle, unsigned int code, void *args );
typedef NTSTATUS (*unixlib_entry_t)( void *args );
/* The thread information for 16-bit threads */ /* The thread information for 16-bit threads */
/* NtCurrentTeb()->SubSystemTib points to this */ /* NtCurrentTeb()->SubSystemTib points to this */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment