ntdll: Use syscall thunks for job functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
3f51cb6304
commit
66e6d87ab8
|
@ -142,7 +142,7 @@
|
|||
@ stdcall NtAllocateUuids(ptr ptr ptr ptr)
|
||||
@ stdcall NtAllocateVirtualMemory(long ptr long ptr long long)
|
||||
@ stdcall NtAreMappedFilesTheSame(ptr ptr)
|
||||
@ stdcall NtAssignProcessToJobObject(long long)
|
||||
@ stdcall -syscall NtAssignProcessToJobObject(long long)
|
||||
@ stub NtCallbackReturn
|
||||
# @ stub NtCancelDeviceWakeupRequest
|
||||
@ stdcall NtCancelIoFile(long ptr)
|
||||
|
@ -164,7 +164,7 @@
|
|||
@ stub NtCreateEventPair
|
||||
@ stdcall -syscall NtCreateFile(ptr long ptr ptr ptr long long long long ptr long)
|
||||
@ stdcall NtCreateIoCompletion(ptr long ptr long)
|
||||
@ stdcall NtCreateJobObject(ptr long ptr)
|
||||
@ stdcall -syscall NtCreateJobObject(ptr long ptr)
|
||||
# @ stub NtCreateJobSet
|
||||
@ stdcall NtCreateKey(ptr long ptr long ptr long ptr)
|
||||
@ stdcall NtCreateKeyTransacted(ptr long ptr long ptr long long ptr)
|
||||
|
@ -231,7 +231,7 @@
|
|||
@ stub NtImpersonateThread
|
||||
@ stub NtInitializeRegistry
|
||||
@ stdcall NtInitiatePowerAction (long long long long)
|
||||
@ stdcall NtIsProcessInJob(long long)
|
||||
@ stdcall -syscall NtIsProcessInJob(long long)
|
||||
# @ stub NtIsSystemResumeAutomatic
|
||||
@ stdcall NtListenPort(ptr ptr)
|
||||
@ stdcall NtLoadDriver(ptr)
|
||||
|
@ -255,7 +255,7 @@
|
|||
@ stub NtOpenEventPair
|
||||
@ stdcall -syscall NtOpenFile(ptr long ptr ptr long long)
|
||||
@ stdcall NtOpenIoCompletion(ptr long ptr)
|
||||
@ stdcall NtOpenJobObject(ptr long ptr)
|
||||
@ stdcall -syscall NtOpenJobObject(ptr long ptr)
|
||||
@ stdcall NtOpenKey(ptr long ptr)
|
||||
@ stdcall NtOpenKeyEx(ptr long ptr long)
|
||||
@ stdcall NtOpenKeyTransacted(ptr long ptr long)
|
||||
|
@ -293,7 +293,7 @@
|
|||
@ stdcall NtQueryFullAttributesFile(ptr ptr)
|
||||
@ stdcall NtQueryInformationAtom(long long ptr long ptr)
|
||||
@ stdcall NtQueryInformationFile(long ptr ptr long long)
|
||||
@ stdcall NtQueryInformationJobObject(long long ptr long ptr)
|
||||
@ stdcall -syscall NtQueryInformationJobObject(long long ptr long ptr)
|
||||
@ stub NtQueryInformationPort
|
||||
@ stdcall NtQueryInformationProcess(long long ptr long ptr)
|
||||
@ stdcall NtQueryInformationThread(long long ptr long ptr)
|
||||
|
@ -374,7 +374,7 @@
|
|||
@ stub NtSetHighWaitLowThread
|
||||
# @ stub NtSetInformationDebugObject
|
||||
@ stdcall NtSetInformationFile(long ptr ptr long long)
|
||||
@ stdcall NtSetInformationJobObject(long long ptr long)
|
||||
@ stdcall -syscall NtSetInformationJobObject(long long ptr long)
|
||||
@ stdcall NtSetInformationKey(long long ptr long)
|
||||
@ stdcall NtSetInformationObject(long long ptr long)
|
||||
@ stdcall NtSetInformationProcess(long long ptr long)
|
||||
|
@ -407,7 +407,7 @@
|
|||
@ stdcall NtSuspendProcess(long)
|
||||
@ stdcall NtSuspendThread(long ptr)
|
||||
@ stdcall NtSystemDebugControl(long ptr long ptr long ptr)
|
||||
@ stdcall NtTerminateJobObject(long long)
|
||||
@ stdcall -syscall NtTerminateJobObject(long long)
|
||||
@ stdcall NtTerminateProcess(long long)
|
||||
@ stdcall NtTerminateThread(long long)
|
||||
@ stub NtTestAlert
|
||||
|
@ -1131,7 +1131,7 @@
|
|||
@ stdcall -private ZwAllocateUuids(ptr ptr ptr ptr) NtAllocateUuids
|
||||
@ stdcall -private ZwAllocateVirtualMemory(long ptr long ptr long long) NtAllocateVirtualMemory
|
||||
@ stdcall -private ZwAreMappedFilesTheSame(ptr ptr) NtAreMappedFilesTheSame
|
||||
@ stdcall -private ZwAssignProcessToJobObject(long long) NtAssignProcessToJobObject
|
||||
@ stdcall -private -syscall ZwAssignProcessToJobObject(long long) NtAssignProcessToJobObject
|
||||
@ stub ZwCallbackReturn
|
||||
# @ stub ZwCancelDeviceWakeupRequest
|
||||
@ stdcall -private ZwCancelIoFile(long ptr) NtCancelIoFile
|
||||
|
@ -1153,7 +1153,7 @@
|
|||
@ stub ZwCreateEventPair
|
||||
@ stdcall -private -syscall ZwCreateFile(ptr long ptr ptr ptr long long long long ptr long) NtCreateFile
|
||||
@ stdcall -private ZwCreateIoCompletion(ptr long ptr long) NtCreateIoCompletion
|
||||
@ stdcall -private ZwCreateJobObject(ptr long ptr) NtCreateJobObject
|
||||
@ stdcall -private -syscall ZwCreateJobObject(ptr long ptr) NtCreateJobObject
|
||||
# @ stub ZwCreateJobSet
|
||||
@ stdcall -private ZwCreateKey(ptr long ptr long ptr long ptr) NtCreateKey
|
||||
@ stdcall -private ZwCreateKeyTransacted(ptr long ptr long ptr long long ptr) NtCreateKeyTransacted
|
||||
|
@ -1215,7 +1215,7 @@
|
|||
@ stub ZwImpersonateThread
|
||||
@ stub ZwInitializeRegistry
|
||||
@ stdcall -private ZwInitiatePowerAction(long long long long) NtInitiatePowerAction
|
||||
@ stdcall -private ZwIsProcessInJob(long long) NtIsProcessInJob
|
||||
@ stdcall -private -syscall ZwIsProcessInJob(long long) NtIsProcessInJob
|
||||
# @ stub ZwIsSystemResumeAutomatic
|
||||
@ stdcall -private ZwListenPort(ptr ptr) NtListenPort
|
||||
@ stdcall -private ZwLoadDriver(ptr) NtLoadDriver
|
||||
|
@ -1239,7 +1239,7 @@
|
|||
@ stub ZwOpenEventPair
|
||||
@ stdcall -private -syscall ZwOpenFile(ptr long ptr ptr long long) NtOpenFile
|
||||
@ stdcall -private ZwOpenIoCompletion(ptr long ptr) NtOpenIoCompletion
|
||||
@ stdcall -private ZwOpenJobObject(ptr long ptr) NtOpenJobObject
|
||||
@ stdcall -private -syscall ZwOpenJobObject(ptr long ptr) NtOpenJobObject
|
||||
@ stdcall -private ZwOpenKey(ptr long ptr) NtOpenKey
|
||||
@ stdcall -private ZwOpenKeyEx(ptr long ptr long) NtOpenKeyEx
|
||||
@ stdcall -private ZwOpenKeyTransacted(ptr long ptr long) NtOpenKeyTransacted
|
||||
|
@ -1277,7 +1277,7 @@
|
|||
@ stdcall -private ZwQueryFullAttributesFile(ptr ptr) NtQueryFullAttributesFile
|
||||
@ stdcall -private ZwQueryInformationAtom(long long ptr long ptr) NtQueryInformationAtom
|
||||
@ stdcall -private ZwQueryInformationFile(long ptr ptr long long) NtQueryInformationFile
|
||||
@ stdcall -private ZwQueryInformationJobObject(long long ptr long ptr) NtQueryInformationJobObject
|
||||
@ stdcall -private -syscall ZwQueryInformationJobObject(long long ptr long ptr) NtQueryInformationJobObject
|
||||
@ stub ZwQueryInformationPort
|
||||
@ stdcall -private ZwQueryInformationProcess(long long ptr long ptr) NtQueryInformationProcess
|
||||
@ stdcall -private ZwQueryInformationThread(long long ptr long ptr) NtQueryInformationThread
|
||||
|
@ -1358,7 +1358,7 @@
|
|||
@ stub ZwSetHighWaitLowThread
|
||||
# @ stub ZwSetInformationDebugObject
|
||||
@ stdcall -private ZwSetInformationFile(long ptr ptr long long) NtSetInformationFile
|
||||
@ stdcall -private ZwSetInformationJobObject(long long ptr long) NtSetInformationJobObject
|
||||
@ stdcall -private -syscall ZwSetInformationJobObject(long long ptr long) NtSetInformationJobObject
|
||||
@ stdcall -private ZwSetInformationKey(long long ptr long) NtSetInformationKey
|
||||
@ stdcall -private ZwSetInformationObject(long long ptr long) NtSetInformationObject
|
||||
@ stdcall -private ZwSetInformationProcess(long long ptr long) NtSetInformationProcess
|
||||
|
@ -1391,7 +1391,7 @@
|
|||
@ stdcall -private ZwSuspendProcess(long) NtSuspendProcess
|
||||
@ stdcall -private ZwSuspendThread(long ptr) NtSuspendThread
|
||||
@ stdcall -private ZwSystemDebugControl(long ptr long ptr long ptr) NtSystemDebugControl
|
||||
@ stdcall -private ZwTerminateJobObject(long long) NtTerminateJobObject
|
||||
@ stdcall -private -syscall ZwTerminateJobObject(long long) NtTerminateJobObject
|
||||
@ stdcall -private ZwTerminateProcess(long long) NtTerminateProcess
|
||||
@ stdcall -private ZwTerminateThread(long long) NtTerminateThread
|
||||
@ stub ZwTestAlert
|
||||
|
|
|
@ -135,74 +135,6 @@ NTSTATUS validate_open_object_attributes( const OBJECT_ATTRIBUTES *attr )
|
|||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
/*
|
||||
* Jobs
|
||||
*/
|
||||
|
||||
/******************************************************************************
|
||||
* NtCreateJobObject [NTDLL.@]
|
||||
* ZwCreateJobObject [NTDLL.@]
|
||||
*/
|
||||
NTSTATUS WINAPI NtCreateJobObject( PHANDLE handle, ACCESS_MASK access, const OBJECT_ATTRIBUTES *attr )
|
||||
{
|
||||
return unix_funcs->NtCreateJobObject( handle, access, attr );
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* NtOpenJobObject [NTDLL.@]
|
||||
* ZwOpenJobObject [NTDLL.@]
|
||||
*/
|
||||
NTSTATUS WINAPI NtOpenJobObject( HANDLE *handle, ACCESS_MASK access, const OBJECT_ATTRIBUTES *attr )
|
||||
{
|
||||
return unix_funcs->NtOpenJobObject( handle, access, attr );
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* NtTerminateJobObject [NTDLL.@]
|
||||
* ZwTerminateJobObject [NTDLL.@]
|
||||
*/
|
||||
NTSTATUS WINAPI NtTerminateJobObject( HANDLE handle, NTSTATUS status )
|
||||
{
|
||||
return unix_funcs->NtTerminateJobObject( handle, status );
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* NtQueryInformationJobObject [NTDLL.@]
|
||||
* ZwQueryInformationJobObject [NTDLL.@]
|
||||
*/
|
||||
NTSTATUS WINAPI NtQueryInformationJobObject( HANDLE handle, JOBOBJECTINFOCLASS class, PVOID info,
|
||||
ULONG len, PULONG ret_len )
|
||||
{
|
||||
return unix_funcs->NtQueryInformationJobObject( handle, class, info, len, ret_len );
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* NtSetInformationJobObject [NTDLL.@]
|
||||
* ZwSetInformationJobObject [NTDLL.@]
|
||||
*/
|
||||
NTSTATUS WINAPI NtSetInformationJobObject( HANDLE handle, JOBOBJECTINFOCLASS class, PVOID info, ULONG len )
|
||||
{
|
||||
return unix_funcs->NtSetInformationJobObject( handle, class, info, len );
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* NtIsProcessInJob [NTDLL.@]
|
||||
* ZwIsProcessInJob [NTDLL.@]
|
||||
*/
|
||||
NTSTATUS WINAPI NtIsProcessInJob( HANDLE process, HANDLE job )
|
||||
{
|
||||
return unix_funcs->NtIsProcessInJob( process, job );
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* NtAssignProcessToJobObject [NTDLL.@]
|
||||
* ZwAssignProcessToJobObject [NTDLL.@]
|
||||
*/
|
||||
NTSTATUS WINAPI NtAssignProcessToJobObject( HANDLE job, HANDLE process )
|
||||
{
|
||||
return unix_funcs->NtAssignProcessToJobObject( job, process );
|
||||
}
|
||||
|
||||
/*
|
||||
* Timers
|
||||
*/
|
||||
|
|
|
@ -1362,12 +1362,10 @@ static struct unix_funcs unix_funcs =
|
|||
NtAlertThread,
|
||||
NtAllocateVirtualMemory,
|
||||
NtAreMappedFilesTheSame,
|
||||
NtAssignProcessToJobObject,
|
||||
NtCancelTimer,
|
||||
NtClose,
|
||||
NtContinue,
|
||||
NtCreateIoCompletion,
|
||||
NtCreateJobObject,
|
||||
NtCreateKeyedEvent,
|
||||
NtCreateMailslotFile,
|
||||
NtCreateNamedPipeFile,
|
||||
|
@ -1389,12 +1387,10 @@ static struct unix_funcs unix_funcs =
|
|||
NtGetContextThread,
|
||||
NtGetCurrentProcessorNumber,
|
||||
NtGetWriteWatch,
|
||||
NtIsProcessInJob,
|
||||
NtLockVirtualMemory,
|
||||
NtMapViewOfSection,
|
||||
NtNotifyChangeDirectoryFile,
|
||||
NtOpenIoCompletion,
|
||||
NtOpenJobObject,
|
||||
NtOpenKeyedEvent,
|
||||
NtOpenProcess,
|
||||
NtOpenSection,
|
||||
|
@ -1406,7 +1402,6 @@ static struct unix_funcs unix_funcs =
|
|||
NtQueryDirectoryFile,
|
||||
NtQueryFullAttributesFile,
|
||||
NtQueryInformationFile,
|
||||
NtQueryInformationJobObject,
|
||||
NtQueryInformationProcess,
|
||||
NtQueryInformationThread,
|
||||
NtQueryIoCompletion,
|
||||
|
@ -1432,7 +1427,6 @@ static struct unix_funcs unix_funcs =
|
|||
NtResumeThread,
|
||||
NtSetContextThread,
|
||||
NtSetInformationFile,
|
||||
NtSetInformationJobObject,
|
||||
NtSetInformationObject,
|
||||
NtSetInformationProcess,
|
||||
NtSetInformationThread,
|
||||
|
@ -1444,7 +1438,6 @@ static struct unix_funcs unix_funcs =
|
|||
NtSignalAndWaitForSingleObject,
|
||||
NtSuspendProcess,
|
||||
NtSuspendThread,
|
||||
NtTerminateJobObject,
|
||||
NtTerminateProcess,
|
||||
NtTerminateThread,
|
||||
NtUnlockVirtualMemory,
|
||||
|
|
|
@ -28,7 +28,7 @@ struct msghdr;
|
|||
struct _DISPATCHER_CONTEXT;
|
||||
|
||||
/* increment this when you change the function table */
|
||||
#define NTDLL_UNIXLIB_VERSION 77
|
||||
#define NTDLL_UNIXLIB_VERSION 78
|
||||
|
||||
struct unix_funcs
|
||||
{
|
||||
|
@ -38,14 +38,11 @@ struct unix_funcs
|
|||
NTSTATUS (WINAPI *NtAllocateVirtualMemory)( HANDLE process, PVOID *ret, ULONG_PTR zero_bits,
|
||||
SIZE_T *size_ptr, ULONG type, ULONG protect );
|
||||
NTSTATUS (WINAPI *NtAreMappedFilesTheSame)(PVOID addr1, PVOID addr2);
|
||||
NTSTATUS (WINAPI *NtAssignProcessToJobObject)( HANDLE job, HANDLE process );
|
||||
NTSTATUS (WINAPI *NtCancelTimer)( HANDLE handle, BOOLEAN *state );
|
||||
NTSTATUS (WINAPI *NtClose)( HANDLE handle );
|
||||
NTSTATUS (WINAPI *NtContinue)( CONTEXT *context, BOOLEAN alertable );
|
||||
NTSTATUS (WINAPI *NtCreateIoCompletion)( HANDLE *handle, ACCESS_MASK access,
|
||||
OBJECT_ATTRIBUTES *attr, ULONG threads );
|
||||
NTSTATUS (WINAPI *NtCreateJobObject)( HANDLE *handle, ACCESS_MASK access,
|
||||
const OBJECT_ATTRIBUTES *attr );
|
||||
NTSTATUS (WINAPI *NtCreateKeyedEvent)( HANDLE *handle, ACCESS_MASK access,
|
||||
const OBJECT_ATTRIBUTES *attr, ULONG flags );
|
||||
NTSTATUS (WINAPI *NtCreateMailslotFile)( HANDLE *handle, ULONG access, OBJECT_ATTRIBUTES *attr,
|
||||
|
@ -97,7 +94,6 @@ struct unix_funcs
|
|||
ULONG (WINAPI *NtGetCurrentProcessorNumber)(void);
|
||||
NTSTATUS (WINAPI *NtGetWriteWatch)( HANDLE process, ULONG flags, PVOID base, SIZE_T size,
|
||||
PVOID *addresses, ULONG_PTR *count, ULONG *granularity );
|
||||
NTSTATUS (WINAPI *NtIsProcessInJob)( HANDLE process, HANDLE job );
|
||||
NTSTATUS (WINAPI *NtLockVirtualMemory)( HANDLE process, PVOID *addr, SIZE_T *size, ULONG unknown );
|
||||
NTSTATUS (WINAPI *NtMapViewOfSection)( HANDLE handle, HANDLE process, PVOID *addr_ptr,
|
||||
ULONG_PTR zero_bits, SIZE_T commit_size,
|
||||
|
@ -109,8 +105,6 @@ struct unix_funcs
|
|||
ULONG filter, BOOLEAN subtree );
|
||||
NTSTATUS (WINAPI *NtOpenIoCompletion)( HANDLE *handle, ACCESS_MASK access,
|
||||
const OBJECT_ATTRIBUTES *attr );
|
||||
NTSTATUS (WINAPI *NtOpenJobObject)( HANDLE *handle, ACCESS_MASK access,
|
||||
const OBJECT_ATTRIBUTES *attr );
|
||||
NTSTATUS (WINAPI *NtOpenKeyedEvent)( HANDLE *handle, ACCESS_MASK access,
|
||||
const OBJECT_ATTRIBUTES *attr );
|
||||
NTSTATUS (WINAPI *NtOpenProcess)( HANDLE *handle, ACCESS_MASK access,
|
||||
|
@ -135,8 +129,6 @@ struct unix_funcs
|
|||
FILE_NETWORK_OPEN_INFORMATION *info );
|
||||
NTSTATUS (WINAPI *NtQueryInformationFile)( HANDLE hFile, IO_STATUS_BLOCK *io,
|
||||
void *ptr, LONG len, FILE_INFORMATION_CLASS class );
|
||||
NTSTATUS (WINAPI *NtQueryInformationJobObject)( HANDLE handle, JOBOBJECTINFOCLASS class,
|
||||
void *info, ULONG len, ULONG *ret_len );
|
||||
NTSTATUS (WINAPI *NtQueryInformationProcess)( HANDLE handle, PROCESSINFOCLASS class, void *info,
|
||||
ULONG size, ULONG *ret_len );
|
||||
NTSTATUS (WINAPI *NtQueryInformationThread)( HANDLE handle, THREADINFOCLASS class,
|
||||
|
@ -187,8 +179,6 @@ struct unix_funcs
|
|||
NTSTATUS (WINAPI *NtSetContextThread)( HANDLE handle, const CONTEXT *context );
|
||||
NTSTATUS (WINAPI *NtSetInformationFile)( HANDLE handle, IO_STATUS_BLOCK *io,
|
||||
void *ptr, ULONG len, FILE_INFORMATION_CLASS class );
|
||||
NTSTATUS (WINAPI *NtSetInformationJobObject)( HANDLE handle, JOBOBJECTINFOCLASS class,
|
||||
void *info, ULONG len );
|
||||
NTSTATUS (WINAPI *NtSetInformationObject)( HANDLE handle, OBJECT_INFORMATION_CLASS info_class,
|
||||
void *ptr, ULONG len );
|
||||
NTSTATUS (WINAPI *NtSetInformationProcess)( HANDLE handle, PROCESSINFOCLASS class,
|
||||
|
@ -208,7 +198,6 @@ struct unix_funcs
|
|||
BOOLEAN alertable, const LARGE_INTEGER *timeout );
|
||||
NTSTATUS (WINAPI *NtSuspendProcess)( HANDLE handle );
|
||||
NTSTATUS (WINAPI *NtSuspendThread)( HANDLE handle, ULONG *count );
|
||||
NTSTATUS (WINAPI *NtTerminateJobObject)( HANDLE handle, NTSTATUS status );
|
||||
NTSTATUS (WINAPI *NtTerminateProcess)( HANDLE handle, LONG exit_code );
|
||||
NTSTATUS (WINAPI *NtTerminateThread)( HANDLE handle, LONG exit_code );
|
||||
NTSTATUS (WINAPI *NtUnlockVirtualMemory)( HANDLE process, PVOID *addr,
|
||||
|
|
Loading…
Reference in New Issue