ntdll: Use syscall thunks for thread functions.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Alexandre Julliard 2020-07-16 10:35:07 +02:00
parent c5f66fc784
commit 00e7d50f8b
5 changed files with 31 additions and 221 deletions

View File

@ -165,15 +165,6 @@ void raise_status( NTSTATUS status, EXCEPTION_RECORD *rec )
} }
/*******************************************************************
* NtRaiseException (NTDLL.@)
*/
NTSTATUS WINAPI NtRaiseException( EXCEPTION_RECORD *rec, CONTEXT *context, BOOL first_chance )
{
return unix_funcs->NtRaiseException( rec, context, first_chance );
}
/*********************************************************************** /***********************************************************************
* RtlRaiseStatus (NTDLL.@) * RtlRaiseStatus (NTDLL.@)
* *

View File

@ -135,8 +135,8 @@
# @ stub NtAddBootEntry # @ stub NtAddBootEntry
@ stdcall NtAdjustGroupsToken(long long ptr long ptr ptr) @ stdcall NtAdjustGroupsToken(long long ptr long ptr ptr)
@ stdcall NtAdjustPrivilegesToken(long long ptr long ptr ptr) @ stdcall NtAdjustPrivilegesToken(long long ptr long ptr ptr)
@ stdcall NtAlertResumeThread(long ptr) @ stdcall -syscall NtAlertResumeThread(long ptr)
@ stdcall NtAlertThread(long) @ stdcall -syscall NtAlertThread(long)
@ stdcall NtAllocateLocallyUniqueId(ptr) @ stdcall NtAllocateLocallyUniqueId(ptr)
# @ stub NtAllocateUserPhysicalPages # @ stub NtAllocateUserPhysicalPages
@ stdcall NtAllocateUuids(ptr ptr ptr ptr) @ stdcall NtAllocateUuids(ptr ptr ptr ptr)
@ -157,7 +157,7 @@
@ stdcall NtCompleteConnectPort(ptr) @ stdcall NtCompleteConnectPort(ptr)
# @ stub NtCompressKey # @ stub NtCompressKey
@ stdcall NtConnectPort(ptr ptr ptr ptr ptr ptr ptr ptr) @ stdcall NtConnectPort(ptr ptr ptr ptr ptr ptr ptr ptr)
@ stdcall NtContinue(ptr long) @ stdcall -syscall NtContinue(ptr long)
# @ stub NtCreateDebugObject # @ stub NtCreateDebugObject
@ stdcall NtCreateDirectoryObject(ptr long ptr) @ stdcall NtCreateDirectoryObject(ptr long ptr)
@ stdcall -syscall NtCreateEvent(ptr long ptr long long) @ stdcall -syscall NtCreateEvent(ptr long ptr long long)
@ -183,7 +183,7 @@
@ stdcall -syscall NtCreateSemaphore(ptr long ptr long long) @ stdcall -syscall NtCreateSemaphore(ptr long ptr long long)
@ stdcall NtCreateSymbolicLinkObject(ptr long ptr ptr) @ stdcall NtCreateSymbolicLinkObject(ptr long ptr ptr)
@ stub NtCreateThread @ stub NtCreateThread
@ stdcall NtCreateThreadEx(ptr long ptr long ptr ptr long long long long ptr) @ stdcall -syscall NtCreateThreadEx(ptr long ptr long ptr ptr long long long long ptr)
@ stdcall -syscall NtCreateTimer(ptr long ptr long) @ stdcall -syscall NtCreateTimer(ptr long ptr long)
@ stub NtCreateToken @ stub NtCreateToken
@ stdcall NtCreateUserProcess(ptr ptr long long ptr ptr long long ptr ptr ptr) @ stdcall NtCreateUserProcess(ptr ptr long long ptr ptr long long ptr ptr ptr)
@ -220,7 +220,7 @@
@ stdcall NtFreeVirtualMemory(long ptr ptr long) @ stdcall NtFreeVirtualMemory(long ptr ptr long)
@ stdcall NtFsControlFile(long long ptr ptr ptr long ptr long ptr long) @ stdcall NtFsControlFile(long long ptr ptr ptr long ptr long ptr long)
@ stdcall -norelay NtGetContextThread(long ptr) @ stdcall -norelay NtGetContextThread(long ptr)
@ stdcall NtGetCurrentProcessorNumber() @ stdcall -syscall NtGetCurrentProcessorNumber()
# @ stub NtGetDevicePowerState # @ stub NtGetDevicePowerState
@ stdcall NtGetNlsSectionPtr(long long long ptr ptr) @ stdcall NtGetNlsSectionPtr(long long long ptr ptr)
@ stub NtGetPlugPlayEvent @ stub NtGetPlugPlayEvent
@ -269,7 +269,7 @@
@ stdcall NtOpenSection(ptr long ptr) @ stdcall NtOpenSection(ptr long ptr)
@ stdcall -syscall NtOpenSemaphore(ptr long ptr) @ stdcall -syscall NtOpenSemaphore(ptr long ptr)
@ stdcall NtOpenSymbolicLinkObject (ptr long ptr) @ stdcall NtOpenSymbolicLinkObject (ptr long ptr)
@ stdcall NtOpenThread(ptr long ptr ptr) @ stdcall -syscall NtOpenThread(ptr long ptr ptr)
@ stdcall NtOpenThreadToken(long long long ptr) @ stdcall NtOpenThreadToken(long long long ptr)
@ stdcall NtOpenThreadTokenEx(long long long long ptr) @ stdcall NtOpenThreadTokenEx(long long long long ptr)
@ stdcall -syscall NtOpenTimer(ptr long ptr) @ stdcall -syscall NtOpenTimer(ptr long ptr)
@ -296,7 +296,7 @@
@ stdcall -syscall NtQueryInformationJobObject(long long ptr long ptr) @ stdcall -syscall NtQueryInformationJobObject(long long ptr long ptr)
@ stub NtQueryInformationPort @ stub NtQueryInformationPort
@ stdcall NtQueryInformationProcess(long long ptr long ptr) @ stdcall NtQueryInformationProcess(long long ptr long ptr)
@ stdcall NtQueryInformationThread(long long ptr long ptr) @ stdcall -syscall NtQueryInformationThread(long long ptr long ptr)
@ stdcall NtQueryInformationToken(long long ptr long ptr) @ stdcall NtQueryInformationToken(long long ptr long ptr)
@ stdcall NtQueryInstallUILanguage(ptr) @ stdcall NtQueryInstallUILanguage(ptr)
@ stub NtQueryIntervalProfile @ stub NtQueryIntervalProfile
@ -324,8 +324,8 @@
@ stdcall NtQueryValueKey(long ptr long ptr long ptr) @ stdcall NtQueryValueKey(long ptr long ptr long ptr)
@ stdcall NtQueryVirtualMemory(long ptr long ptr long ptr) @ stdcall NtQueryVirtualMemory(long ptr long ptr long ptr)
@ stdcall NtQueryVolumeInformationFile(long ptr ptr long long) @ stdcall NtQueryVolumeInformationFile(long ptr ptr long long)
@ stdcall NtQueueApcThread(long ptr long long long) @ stdcall -syscall NtQueueApcThread(long ptr long long long)
@ stdcall NtRaiseException(ptr ptr long) @ stdcall -syscall NtRaiseException(ptr ptr long)
@ stdcall NtRaiseHardError(long long ptr ptr long ptr) @ stdcall NtRaiseHardError(long long ptr ptr long ptr)
@ stdcall NtReadFile(long long ptr ptr ptr ptr long ptr ptr) @ stdcall NtReadFile(long long ptr ptr ptr ptr long ptr ptr)
@ stdcall NtReadFileScatter(long long ptr ptr ptr ptr long ptr ptr) @ stdcall NtReadFileScatter(long long ptr ptr ptr ptr long ptr ptr)
@ -354,14 +354,14 @@
@ stdcall NtResetWriteWatch(long ptr long) @ stdcall NtResetWriteWatch(long ptr long)
@ stdcall NtRestoreKey(long long long) @ stdcall NtRestoreKey(long long long)
@ stdcall NtResumeProcess(long) @ stdcall NtResumeProcess(long)
@ stdcall NtResumeThread(long ptr) @ stdcall -syscall NtResumeThread(long ptr)
@ stdcall NtSaveKey(long long) @ stdcall NtSaveKey(long long)
# @ stub NtSaveKeyEx # @ stub NtSaveKeyEx
# @ stub NtSaveMergedKeys # @ stub NtSaveMergedKeys
@ stdcall NtSecureConnectPort(ptr ptr ptr ptr ptr ptr ptr ptr ptr) @ stdcall NtSecureConnectPort(ptr ptr ptr ptr ptr ptr ptr ptr ptr)
# @ stub NtSetBootEntryOrder # @ stub NtSetBootEntryOrder
# @ stub NtSetBootOptions # @ stub NtSetBootOptions
@ stdcall NtSetContextThread(long ptr) @ stdcall -syscall NtSetContextThread(long ptr)
@ stub NtSetDebugFilterState @ stub NtSetDebugFilterState
@ stub NtSetDefaultHardErrorPort @ stub NtSetDefaultHardErrorPort
@ stdcall NtSetDefaultLocale(long long) @ stdcall NtSetDefaultLocale(long long)
@ -378,11 +378,11 @@
@ stdcall NtSetInformationKey(long long ptr long) @ stdcall NtSetInformationKey(long long ptr long)
@ stdcall NtSetInformationObject(long long ptr long) @ stdcall NtSetInformationObject(long long ptr long)
@ stdcall NtSetInformationProcess(long long ptr long) @ stdcall NtSetInformationProcess(long long ptr long)
@ stdcall NtSetInformationThread(long long ptr long) @ stdcall -syscall NtSetInformationThread(long long ptr long)
@ stdcall NtSetInformationToken(long long ptr long) @ stdcall NtSetInformationToken(long long ptr long)
@ stdcall NtSetIntervalProfile(long long) @ stdcall NtSetIntervalProfile(long long)
@ stdcall -syscall NtSetIoCompletion(ptr long long long long) @ stdcall -syscall NtSetIoCompletion(ptr long long long long)
@ stdcall NtSetLdtEntries(long int64 long int64) @ stdcall -syscall NtSetLdtEntries(long int64 long int64)
@ stub NtSetLowEventPair @ stub NtSetLowEventPair
@ stub NtSetLowWaitHighEventPair @ stub NtSetLowWaitHighEventPair
@ stub NtSetLowWaitHighThread @ stub NtSetLowWaitHighThread
@ -405,11 +405,11 @@
@ stub NtStartProfile @ stub NtStartProfile
@ stub NtStopProfile @ stub NtStopProfile
@ stdcall NtSuspendProcess(long) @ stdcall NtSuspendProcess(long)
@ stdcall NtSuspendThread(long ptr) @ stdcall -syscall NtSuspendThread(long ptr)
@ stdcall NtSystemDebugControl(long ptr long ptr long ptr) @ stdcall NtSystemDebugControl(long ptr long ptr long ptr)
@ stdcall -syscall NtTerminateJobObject(long long) @ stdcall -syscall NtTerminateJobObject(long long)
@ stdcall NtTerminateProcess(long long) @ stdcall NtTerminateProcess(long long)
@ stdcall NtTerminateThread(long long) @ stdcall -syscall NtTerminateThread(long long)
@ stub NtTestAlert @ stub NtTestAlert
# @ stub NtTraceEvent # @ stub NtTraceEvent
# @ stub NtTranslateFilePath # @ stub NtTranslateFilePath
@ -1124,8 +1124,8 @@
# @ stub ZwAddBootEntry # @ stub ZwAddBootEntry
@ stdcall -private ZwAdjustGroupsToken(long long ptr long ptr ptr) NtAdjustGroupsToken @ stdcall -private ZwAdjustGroupsToken(long long ptr long ptr ptr) NtAdjustGroupsToken
@ stdcall -private ZwAdjustPrivilegesToken(long long ptr long ptr ptr) NtAdjustPrivilegesToken @ stdcall -private ZwAdjustPrivilegesToken(long long ptr long ptr ptr) NtAdjustPrivilegesToken
@ stdcall -private ZwAlertResumeThread(long ptr) NtAlertResumeThread @ stdcall -private -syscall ZwAlertResumeThread(long ptr) NtAlertResumeThread
@ stdcall -private ZwAlertThread(long) NtAlertThread @ stdcall -private -syscall ZwAlertThread(long) NtAlertThread
@ stdcall -private ZwAllocateLocallyUniqueId(ptr) NtAllocateLocallyUniqueId @ stdcall -private ZwAllocateLocallyUniqueId(ptr) NtAllocateLocallyUniqueId
# @ stub ZwAllocateUserPhysicalPages # @ stub ZwAllocateUserPhysicalPages
@ stdcall -private ZwAllocateUuids(ptr ptr ptr ptr) NtAllocateUuids @ stdcall -private ZwAllocateUuids(ptr ptr ptr ptr) NtAllocateUuids
@ -1146,7 +1146,7 @@
@ stdcall -private ZwCompleteConnectPort(ptr) NtCompleteConnectPort @ stdcall -private ZwCompleteConnectPort(ptr) NtCompleteConnectPort
# @ stub ZwCompressKey # @ stub ZwCompressKey
@ stdcall -private ZwConnectPort(ptr ptr ptr ptr ptr ptr ptr ptr) NtConnectPort @ stdcall -private ZwConnectPort(ptr ptr ptr ptr ptr ptr ptr ptr) NtConnectPort
@ stdcall -private ZwContinue(ptr long) NtContinue @ stdcall -private -syscall ZwContinue(ptr long) NtContinue
# @ stub ZwCreateDebugObject # @ stub ZwCreateDebugObject
@ stdcall -private ZwCreateDirectoryObject(ptr long ptr) NtCreateDirectoryObject @ stdcall -private ZwCreateDirectoryObject(ptr long ptr) NtCreateDirectoryObject
@ stdcall -private -syscall ZwCreateEvent(ptr long ptr long long) NtCreateEvent @ stdcall -private -syscall ZwCreateEvent(ptr long ptr long long) NtCreateEvent
@ -1171,6 +1171,7 @@
@ stdcall -private -syscall ZwCreateSemaphore(ptr long ptr long long) NtCreateSemaphore @ stdcall -private -syscall ZwCreateSemaphore(ptr long ptr long long) NtCreateSemaphore
@ stdcall -private ZwCreateSymbolicLinkObject(ptr long ptr ptr) NtCreateSymbolicLinkObject @ stdcall -private ZwCreateSymbolicLinkObject(ptr long ptr ptr) NtCreateSymbolicLinkObject
@ stub ZwCreateThread @ stub ZwCreateThread
@ stdcall -private -syscall ZwCreateThreadEx(ptr long ptr long ptr ptr long long long long ptr) NtCreateThreadEx
@ stdcall -private -syscall ZwCreateTimer(ptr long ptr long) NtCreateTimer @ stdcall -private -syscall ZwCreateTimer(ptr long ptr long) NtCreateTimer
@ stub ZwCreateToken @ stub ZwCreateToken
# @ stub ZwCreateWaitablePort # @ stub ZwCreateWaitablePort
@ -1204,7 +1205,7 @@
@ stdcall -private ZwFreeVirtualMemory(long ptr ptr long) NtFreeVirtualMemory @ stdcall -private ZwFreeVirtualMemory(long ptr ptr long) NtFreeVirtualMemory
@ stdcall -private ZwFsControlFile(long long ptr ptr ptr long ptr long ptr long) NtFsControlFile @ stdcall -private ZwFsControlFile(long long ptr ptr ptr long ptr long ptr long) NtFsControlFile
@ stdcall -private -norelay ZwGetContextThread(long ptr) NtGetContextThread @ stdcall -private -norelay ZwGetContextThread(long ptr) NtGetContextThread
@ stdcall -private ZwGetCurrentProcessorNumber() NtGetCurrentProcessorNumber @ stdcall -private -syscall ZwGetCurrentProcessorNumber() NtGetCurrentProcessorNumber
# @ stub ZwGetDevicePowerState # @ stub ZwGetDevicePowerState
@ stdcall -private ZwGetNlsSectionPtr(long long long ptr ptr) NtGetNlsSectionPtr @ stdcall -private ZwGetNlsSectionPtr(long long long ptr ptr) NtGetNlsSectionPtr
@ stub ZwGetPlugPlayEvent @ stub ZwGetPlugPlayEvent
@ -1253,7 +1254,7 @@
@ stdcall -private ZwOpenSection(ptr long ptr) NtOpenSection @ stdcall -private ZwOpenSection(ptr long ptr) NtOpenSection
@ stdcall -private -syscall ZwOpenSemaphore(ptr long ptr) NtOpenSemaphore @ stdcall -private -syscall ZwOpenSemaphore(ptr long ptr) NtOpenSemaphore
@ stdcall -private ZwOpenSymbolicLinkObject (ptr long ptr) NtOpenSymbolicLinkObject @ stdcall -private ZwOpenSymbolicLinkObject (ptr long ptr) NtOpenSymbolicLinkObject
@ stdcall -private ZwOpenThread(ptr long ptr ptr) NtOpenThread @ stdcall -private -syscall ZwOpenThread(ptr long ptr ptr) NtOpenThread
@ stdcall -private ZwOpenThreadToken(long long long ptr) NtOpenThreadToken @ stdcall -private ZwOpenThreadToken(long long long ptr) NtOpenThreadToken
@ stdcall -private ZwOpenThreadTokenEx(long long long long ptr) NtOpenThreadTokenEx @ stdcall -private ZwOpenThreadTokenEx(long long long long ptr) NtOpenThreadTokenEx
@ stdcall -private -syscall ZwOpenTimer(ptr long ptr) NtOpenTimer @ stdcall -private -syscall ZwOpenTimer(ptr long ptr) NtOpenTimer
@ -1280,7 +1281,7 @@
@ stdcall -private -syscall ZwQueryInformationJobObject(long long ptr long ptr) NtQueryInformationJobObject @ stdcall -private -syscall ZwQueryInformationJobObject(long long ptr long ptr) NtQueryInformationJobObject
@ stub ZwQueryInformationPort @ stub ZwQueryInformationPort
@ stdcall -private ZwQueryInformationProcess(long long ptr long ptr) NtQueryInformationProcess @ stdcall -private ZwQueryInformationProcess(long long ptr long ptr) NtQueryInformationProcess
@ stdcall -private ZwQueryInformationThread(long long ptr long ptr) NtQueryInformationThread @ stdcall -private -syscall ZwQueryInformationThread(long long ptr long ptr) NtQueryInformationThread
@ stdcall -private ZwQueryInformationToken(long long ptr long ptr) NtQueryInformationToken @ stdcall -private ZwQueryInformationToken(long long ptr long ptr) NtQueryInformationToken
@ stdcall -private ZwQueryInstallUILanguage(ptr) NtQueryInstallUILanguage @ stdcall -private ZwQueryInstallUILanguage(ptr) NtQueryInstallUILanguage
@ stub ZwQueryIntervalProfile @ stub ZwQueryIntervalProfile
@ -1308,8 +1309,8 @@
@ stdcall -private ZwQueryValueKey(long ptr long ptr long ptr) NtQueryValueKey @ stdcall -private ZwQueryValueKey(long ptr long ptr long ptr) NtQueryValueKey
@ stdcall -private ZwQueryVirtualMemory(long ptr long ptr long ptr) NtQueryVirtualMemory @ stdcall -private ZwQueryVirtualMemory(long ptr long ptr long ptr) NtQueryVirtualMemory
@ stdcall -private ZwQueryVolumeInformationFile(long ptr ptr long long) NtQueryVolumeInformationFile @ stdcall -private ZwQueryVolumeInformationFile(long ptr ptr long long) NtQueryVolumeInformationFile
@ stdcall -private ZwQueueApcThread(long ptr long long long) NtQueueApcThread @ stdcall -private -syscall ZwQueueApcThread(long ptr long long long) NtQueueApcThread
@ stdcall -private ZwRaiseException(ptr ptr long) NtRaiseException @ stdcall -private -syscall ZwRaiseException(ptr ptr long) NtRaiseException
@ stdcall -private ZwRaiseHardError(long long ptr ptr long ptr) NtRaiseHardError @ stdcall -private ZwRaiseHardError(long long ptr ptr long ptr) NtRaiseHardError
@ stdcall -private ZwReadFile(long long ptr ptr ptr ptr long ptr ptr) NtReadFile @ stdcall -private ZwReadFile(long long ptr ptr ptr ptr long ptr ptr) NtReadFile
@ stdcall -private ZwReadFileScatter(long long ptr ptr ptr ptr long ptr ptr) NtReadFileScatter @ stdcall -private ZwReadFileScatter(long long ptr ptr ptr ptr long ptr ptr) NtReadFileScatter
@ -1338,14 +1339,14 @@
@ stdcall -private ZwResetWriteWatch(long ptr long) NtResetWriteWatch @ stdcall -private ZwResetWriteWatch(long ptr long) NtResetWriteWatch
@ stdcall -private ZwRestoreKey(long long long) NtRestoreKey @ stdcall -private ZwRestoreKey(long long long) NtRestoreKey
@ stdcall -private ZwResumeProcess(long) NtResumeProcess @ stdcall -private ZwResumeProcess(long) NtResumeProcess
@ stdcall -private ZwResumeThread(long ptr) NtResumeThread @ stdcall -private -syscall ZwResumeThread(long ptr) NtResumeThread
@ stdcall -private ZwSaveKey(long long) NtSaveKey @ stdcall -private ZwSaveKey(long long) NtSaveKey
# @ stub ZwSaveKeyEx # @ stub ZwSaveKeyEx
# @ stub ZwSaveMergedKeys # @ stub ZwSaveMergedKeys
@ stdcall -private ZwSecureConnectPort(ptr ptr ptr ptr ptr ptr ptr ptr ptr) NtSecureConnectPort @ stdcall -private ZwSecureConnectPort(ptr ptr ptr ptr ptr ptr ptr ptr ptr) NtSecureConnectPort
# @ stub ZwSetBootEntryOrder # @ stub ZwSetBootEntryOrder
# @ stub ZwSetBootOptions # @ stub ZwSetBootOptions
@ stdcall -private ZwSetContextThread(long ptr) NtSetContextThread @ stdcall -private -syscall ZwSetContextThread(long ptr) NtSetContextThread
@ stub ZwSetDebugFilterState @ stub ZwSetDebugFilterState
@ stub ZwSetDefaultHardErrorPort @ stub ZwSetDefaultHardErrorPort
@ stdcall -private ZwSetDefaultLocale(long long) NtSetDefaultLocale @ stdcall -private ZwSetDefaultLocale(long long) NtSetDefaultLocale
@ -1362,11 +1363,11 @@
@ stdcall -private ZwSetInformationKey(long long ptr long) NtSetInformationKey @ stdcall -private ZwSetInformationKey(long long ptr long) NtSetInformationKey
@ stdcall -private ZwSetInformationObject(long long ptr long) NtSetInformationObject @ stdcall -private ZwSetInformationObject(long long ptr long) NtSetInformationObject
@ stdcall -private ZwSetInformationProcess(long long ptr long) NtSetInformationProcess @ stdcall -private ZwSetInformationProcess(long long ptr long) NtSetInformationProcess
@ stdcall -private ZwSetInformationThread(long long ptr long) NtSetInformationThread @ stdcall -private -syscall ZwSetInformationThread(long long ptr long) NtSetInformationThread
@ stdcall -private ZwSetInformationToken(long long ptr long) NtSetInformationToken @ stdcall -private ZwSetInformationToken(long long ptr long) NtSetInformationToken
@ stdcall -private ZwSetIntervalProfile(long long) NtSetIntervalProfile @ stdcall -private ZwSetIntervalProfile(long long) NtSetIntervalProfile
@ stdcall -private -syscall ZwSetIoCompletion(ptr long long long long) NtSetIoCompletion @ stdcall -private -syscall ZwSetIoCompletion(ptr long long long long) NtSetIoCompletion
@ stdcall -private ZwSetLdtEntries(long int64 long int64) NtSetLdtEntries @ stdcall -private -syscall ZwSetLdtEntries(long int64 long int64) NtSetLdtEntries
@ stub ZwSetLowEventPair @ stub ZwSetLowEventPair
@ stub ZwSetLowWaitHighEventPair @ stub ZwSetLowWaitHighEventPair
@ stub ZwSetLowWaitHighThread @ stub ZwSetLowWaitHighThread
@ -1389,11 +1390,11 @@
@ stub ZwStartProfile @ stub ZwStartProfile
@ stub ZwStopProfile @ stub ZwStopProfile
@ stdcall -private ZwSuspendProcess(long) NtSuspendProcess @ stdcall -private ZwSuspendProcess(long) NtSuspendProcess
@ stdcall -private ZwSuspendThread(long ptr) NtSuspendThread @ stdcall -private -syscall ZwSuspendThread(long ptr) NtSuspendThread
@ stdcall -private ZwSystemDebugControl(long ptr long ptr long ptr) NtSystemDebugControl @ stdcall -private ZwSystemDebugControl(long ptr long ptr long ptr) NtSystemDebugControl
@ stdcall -private -syscall ZwTerminateJobObject(long long) NtTerminateJobObject @ stdcall -private -syscall ZwTerminateJobObject(long long) NtTerminateJobObject
@ stdcall -private ZwTerminateProcess(long long) NtTerminateProcess @ stdcall -private ZwTerminateProcess(long long) NtTerminateProcess
@ stdcall -private ZwTerminateThread(long long) NtTerminateThread @ stdcall -private -syscall ZwTerminateThread(long long) NtTerminateThread
@ stub ZwTestAlert @ stub ZwTestAlert
# @ stub ZwTraceEvent # @ stub ZwTraceEvent
# @ stub ZwTranslateFilePath # @ stub ZwTranslateFilePath

View File

@ -167,19 +167,6 @@ void WINAPI RtlUserThreadStart( PRTL_THREAD_START_ROUTINE entry, void *arg )
#endif /* __i386__ */ #endif /* __i386__ */
/***********************************************************************
* NtCreateThreadEx (NTDLL.@)
*/
NTSTATUS WINAPI NtCreateThreadEx( HANDLE *handle_ptr, ACCESS_MASK access, OBJECT_ATTRIBUTES *attr,
HANDLE process, PRTL_THREAD_START_ROUTINE start, void *param,
ULONG flags, SIZE_T zero_bits, SIZE_T stack_commit,
SIZE_T stack_reserve, PS_ATTRIBUTE_LIST *attr_list )
{
return unix_funcs->NtCreateThreadEx( handle_ptr, access, attr, process, start, param,
flags, zero_bits, stack_commit, stack_reserve, attr_list );
}
/*********************************************************************** /***********************************************************************
* RtlCreateUserThread (NTDLL.@) * RtlCreateUserThread (NTDLL.@)
*/ */
@ -242,77 +229,6 @@ ULONG WINAPI RtlGetNtGlobalFlags(void)
} }
/***********************************************************************
* NtOpenThread (NTDLL.@)
* ZwOpenThread (NTDLL.@)
*/
NTSTATUS WINAPI NtOpenThread( HANDLE *handle, ACCESS_MASK access,
const OBJECT_ATTRIBUTES *attr, const CLIENT_ID *id )
{
return unix_funcs->NtOpenThread( handle, access, attr, id );
}
/******************************************************************************
* NtSuspendThread (NTDLL.@)
* ZwSuspendThread (NTDLL.@)
*/
NTSTATUS WINAPI NtSuspendThread( HANDLE handle, PULONG count )
{
return unix_funcs->NtSuspendThread( handle, count );
}
/******************************************************************************
* NtResumeThread (NTDLL.@)
* ZwResumeThread (NTDLL.@)
*/
NTSTATUS WINAPI NtResumeThread( HANDLE handle, PULONG count )
{
return unix_funcs->NtResumeThread( handle, count );
}
/******************************************************************************
* NtAlertResumeThread (NTDLL.@)
* ZwAlertResumeThread (NTDLL.@)
*/
NTSTATUS WINAPI NtAlertResumeThread( HANDLE handle, PULONG count )
{
return unix_funcs->NtAlertResumeThread( handle, count );
}
/******************************************************************************
* NtAlertThread (NTDLL.@)
* ZwAlertThread (NTDLL.@)
*/
NTSTATUS WINAPI NtAlertThread( HANDLE handle )
{
return unix_funcs->NtAlertThread( handle );
}
/******************************************************************************
* NtTerminateThread (NTDLL.@)
* ZwTerminateThread (NTDLL.@)
*/
NTSTATUS WINAPI NtTerminateThread( HANDLE handle, LONG exit_code )
{
return unix_funcs->NtTerminateThread( handle, exit_code );
}
/******************************************************************************
* NtQueueApcThread (NTDLL.@)
*/
NTSTATUS WINAPI NtQueueApcThread( HANDLE handle, PNTAPCFUNC func, ULONG_PTR arg1,
ULONG_PTR arg2, ULONG_PTR arg3 )
{
return unix_funcs->NtQueueApcThread( handle, func, arg1, arg2, arg3 );
}
/****************************************************************************** /******************************************************************************
* RtlPushFrame (NTDLL.@) * RtlPushFrame (NTDLL.@)
*/ */
@ -341,25 +257,6 @@ TEB_ACTIVE_FRAME * WINAPI RtlGetFrame(void)
} }
/***********************************************************************
* NtContinue (NTDLL.@)
*/
NTSTATUS WINAPI NtContinue( CONTEXT *context, BOOLEAN alertable )
{
return unix_funcs->NtContinue( context, alertable );
}
/***********************************************************************
* NtSetContextThread (NTDLL.@)
* ZwSetContextThread (NTDLL.@)
*/
NTSTATUS WINAPI NtSetContextThread( HANDLE handle, const CONTEXT *context )
{
return unix_funcs->NtSetContextThread( handle, context );
}
/*********************************************************************** /***********************************************************************
* NtGetContextThread (NTDLL.@) * NtGetContextThread (NTDLL.@)
* ZwGetContextThread (NTDLL.@) * ZwGetContextThread (NTDLL.@)
@ -370,46 +267,3 @@ NTSTATUS WINAPI NtGetContextThread( HANDLE handle, CONTEXT *context )
return unix_funcs->NtGetContextThread( handle, context ); return unix_funcs->NtGetContextThread( handle, context );
} }
#endif #endif
/******************************************************************************
* NtSetLdtEntries (NTDLL.@)
* ZwSetLdtEntries (NTDLL.@)
*/
NTSTATUS WINAPI NtSetLdtEntries( ULONG sel1, LDT_ENTRY entry1, ULONG sel2, LDT_ENTRY entry2 )
{
return unix_funcs->NtSetLdtEntries( sel1, entry1, sel2, entry2 );
}
/******************************************************************************
* NtQueryInformationThread (NTDLL.@)
* ZwQueryInformationThread (NTDLL.@)
*/
NTSTATUS WINAPI NtQueryInformationThread( HANDLE handle, THREADINFOCLASS class,
void *data, ULONG length, ULONG *ret_len )
{
return unix_funcs->NtQueryInformationThread( handle, class, data, length, ret_len );
}
/******************************************************************************
* NtSetInformationThread (NTDLL.@)
* ZwSetInformationThread (NTDLL.@)
*/
NTSTATUS WINAPI NtSetInformationThread( HANDLE handle, THREADINFOCLASS class,
LPCVOID data, ULONG length )
{
return unix_funcs->NtSetInformationThread( handle, class, data, length );
}
/******************************************************************************
* NtGetCurrentProcessorNumber (NTDLL.@)
*
* Return the processor, on which the thread is running
*
*/
ULONG WINAPI NtGetCurrentProcessorNumber(void)
{
return unix_funcs->NtGetCurrentProcessorNumber();
}

View File

@ -1358,16 +1358,12 @@ static double CDECL ntdll_tan( double d ) { return tan( d ); }
*/ */
static struct unix_funcs unix_funcs = static struct unix_funcs unix_funcs =
{ {
NtAlertResumeThread,
NtAlertThread,
NtAllocateVirtualMemory, NtAllocateVirtualMemory,
NtAreMappedFilesTheSame, NtAreMappedFilesTheSame,
NtClose, NtClose,
NtContinue,
NtCreateMailslotFile, NtCreateMailslotFile,
NtCreateNamedPipeFile, NtCreateNamedPipeFile,
NtCreateSection, NtCreateSection,
NtCreateThreadEx,
NtCreateUserProcess, NtCreateUserProcess,
NtCurrentTeb, NtCurrentTeb,
NtDeleteFile, NtDeleteFile,
@ -1380,14 +1376,12 @@ static struct unix_funcs unix_funcs =
NtFreeVirtualMemory, NtFreeVirtualMemory,
NtFsControlFile, NtFsControlFile,
NtGetContextThread, NtGetContextThread,
NtGetCurrentProcessorNumber,
NtGetWriteWatch, NtGetWriteWatch,
NtLockVirtualMemory, NtLockVirtualMemory,
NtMapViewOfSection, NtMapViewOfSection,
NtNotifyChangeDirectoryFile, NtNotifyChangeDirectoryFile,
NtOpenProcess, NtOpenProcess,
NtOpenSection, NtOpenSection,
NtOpenThread,
NtPowerInformation, NtPowerInformation,
NtProtectVirtualMemory, NtProtectVirtualMemory,
NtQueryAttributesFile, NtQueryAttributesFile,
@ -1395,7 +1389,6 @@ static struct unix_funcs unix_funcs =
NtQueryFullAttributesFile, NtQueryFullAttributesFile,
NtQueryInformationFile, NtQueryInformationFile,
NtQueryInformationProcess, NtQueryInformationProcess,
NtQueryInformationThread,
NtQueryObject, NtQueryObject,
NtQueryPerformanceCounter, NtQueryPerformanceCounter,
NtQuerySection, NtQuerySection,
@ -1404,26 +1397,18 @@ static struct unix_funcs unix_funcs =
NtQuerySystemTime, NtQuerySystemTime,
NtQueryVirtualMemory, NtQueryVirtualMemory,
NtQueryVolumeInformationFile, NtQueryVolumeInformationFile,
NtQueueApcThread,
NtRaiseException,
NtReadFile, NtReadFile,
NtReadFileScatter, NtReadFileScatter,
NtReadVirtualMemory, NtReadVirtualMemory,
NtResetWriteWatch, NtResetWriteWatch,
NtResumeProcess, NtResumeProcess,
NtResumeThread,
NtSetContextThread,
NtSetInformationFile, NtSetInformationFile,
NtSetInformationObject, NtSetInformationObject,
NtSetInformationProcess, NtSetInformationProcess,
NtSetInformationThread,
NtSetLdtEntries,
NtSetSystemTime, NtSetSystemTime,
NtSetVolumeInformationFile, NtSetVolumeInformationFile,
NtSuspendProcess, NtSuspendProcess,
NtSuspendThread,
NtTerminateProcess, NtTerminateProcess,
NtTerminateThread,
NtUnlockVirtualMemory, NtUnlockVirtualMemory,
NtUnmapViewOfSection, NtUnmapViewOfSection,
NtWriteFile, NtWriteFile,

View File

@ -28,18 +28,15 @@ struct msghdr;
struct _DISPATCHER_CONTEXT; struct _DISPATCHER_CONTEXT;
/* increment this when you change the function table */ /* increment this when you change the function table */
#define NTDLL_UNIXLIB_VERSION 82 #define NTDLL_UNIXLIB_VERSION 83
struct unix_funcs struct unix_funcs
{ {
/* Nt* functions */ /* Nt* functions */
NTSTATUS (WINAPI *NtAlertResumeThread)( HANDLE handle, ULONG *count );
NTSTATUS (WINAPI *NtAlertThread)( HANDLE handle );
NTSTATUS (WINAPI *NtAllocateVirtualMemory)( HANDLE process, PVOID *ret, ULONG_PTR zero_bits, NTSTATUS (WINAPI *NtAllocateVirtualMemory)( HANDLE process, PVOID *ret, ULONG_PTR zero_bits,
SIZE_T *size_ptr, ULONG type, ULONG protect ); SIZE_T *size_ptr, ULONG type, ULONG protect );
NTSTATUS (WINAPI *NtAreMappedFilesTheSame)(PVOID addr1, PVOID addr2); NTSTATUS (WINAPI *NtAreMappedFilesTheSame)(PVOID addr1, PVOID addr2);
NTSTATUS (WINAPI *NtClose)( HANDLE handle ); NTSTATUS (WINAPI *NtClose)( HANDLE handle );
NTSTATUS (WINAPI *NtContinue)( CONTEXT *context, BOOLEAN alertable );
NTSTATUS (WINAPI *NtCreateMailslotFile)( HANDLE *handle, ULONG access, OBJECT_ATTRIBUTES *attr, NTSTATUS (WINAPI *NtCreateMailslotFile)( HANDLE *handle, ULONG access, OBJECT_ATTRIBUTES *attr,
IO_STATUS_BLOCK *io, ULONG options, ULONG quota, IO_STATUS_BLOCK *io, ULONG options, ULONG quota,
ULONG msg_size, LARGE_INTEGER *timeout ); ULONG msg_size, LARGE_INTEGER *timeout );
@ -52,10 +49,6 @@ struct unix_funcs
NTSTATUS (WINAPI *NtCreateSection)( HANDLE *handle, ACCESS_MASK access, NTSTATUS (WINAPI *NtCreateSection)( HANDLE *handle, ACCESS_MASK access,
const OBJECT_ATTRIBUTES *attr, const LARGE_INTEGER *size, const OBJECT_ATTRIBUTES *attr, const LARGE_INTEGER *size,
ULONG protect, ULONG sec_flags, HANDLE file ); ULONG protect, ULONG sec_flags, HANDLE file );
NTSTATUS (WINAPI *NtCreateThreadEx)( HANDLE *handle, ACCESS_MASK access, OBJECT_ATTRIBUTES *attr,
HANDLE process, PRTL_THREAD_START_ROUTINE start, void *param,
ULONG flags, SIZE_T zero_bits, SIZE_T stack_commit,
SIZE_T stack_reserve, PS_ATTRIBUTE_LIST *attr_list );
NTSTATUS (WINAPI *NtCreateUserProcess)( HANDLE *process_handle_ptr, HANDLE *thread_handle_ptr, NTSTATUS (WINAPI *NtCreateUserProcess)( HANDLE *process_handle_ptr, HANDLE *thread_handle_ptr,
ACCESS_MASK process_access, ACCESS_MASK thread_access, ACCESS_MASK process_access, ACCESS_MASK thread_access,
OBJECT_ATTRIBUTES *process_attr, OBJECT_ATTRIBUTES *thread_attr, OBJECT_ATTRIBUTES *process_attr, OBJECT_ATTRIBUTES *thread_attr,
@ -83,7 +76,6 @@ struct unix_funcs
void *in_buffer, ULONG in_size, void *in_buffer, ULONG in_size,
void *out_buffer, ULONG out_size ); void *out_buffer, ULONG out_size );
NTSTATUS (WINAPI *NtGetContextThread)( HANDLE handle, CONTEXT *context ); NTSTATUS (WINAPI *NtGetContextThread)( HANDLE handle, CONTEXT *context );
ULONG (WINAPI *NtGetCurrentProcessorNumber)(void);
NTSTATUS (WINAPI *NtGetWriteWatch)( HANDLE process, ULONG flags, PVOID base, SIZE_T size, NTSTATUS (WINAPI *NtGetWriteWatch)( HANDLE process, ULONG flags, PVOID base, SIZE_T size,
PVOID *addresses, ULONG_PTR *count, ULONG *granularity ); PVOID *addresses, ULONG_PTR *count, ULONG *granularity );
NTSTATUS (WINAPI *NtLockVirtualMemory)( HANDLE process, PVOID *addr, SIZE_T *size, ULONG unknown ); NTSTATUS (WINAPI *NtLockVirtualMemory)( HANDLE process, PVOID *addr, SIZE_T *size, ULONG unknown );
@ -99,7 +91,6 @@ struct unix_funcs
const OBJECT_ATTRIBUTES *attr, const CLIENT_ID *id ); const OBJECT_ATTRIBUTES *attr, const CLIENT_ID *id );
NTSTATUS (WINAPI *NtOpenSection)( HANDLE *handle, ACCESS_MASK access, NTSTATUS (WINAPI *NtOpenSection)( HANDLE *handle, ACCESS_MASK access,
const OBJECT_ATTRIBUTES *attr ); const OBJECT_ATTRIBUTES *attr );
NTSTATUS (WINAPI *NtOpenThread)( HANDLE *handle, ACCESS_MASK access, const OBJECT_ATTRIBUTES *attr, const CLIENT_ID *id );
NTSTATUS (WINAPI *NtPowerInformation)( POWER_INFORMATION_LEVEL level, void *input, ULONG in_size, NTSTATUS (WINAPI *NtPowerInformation)( POWER_INFORMATION_LEVEL level, void *input, ULONG in_size,
void *output, ULONG out_size ); void *output, ULONG out_size );
NTSTATUS (WINAPI *NtProtectVirtualMemory)( HANDLE process, PVOID *addr_ptr, SIZE_T *size_ptr, NTSTATUS (WINAPI *NtProtectVirtualMemory)( HANDLE process, PVOID *addr_ptr, SIZE_T *size_ptr,
@ -117,8 +108,6 @@ struct unix_funcs
void *ptr, LONG len, FILE_INFORMATION_CLASS class ); void *ptr, LONG len, FILE_INFORMATION_CLASS class );
NTSTATUS (WINAPI *NtQueryInformationProcess)( HANDLE handle, PROCESSINFOCLASS class, void *info, NTSTATUS (WINAPI *NtQueryInformationProcess)( HANDLE handle, PROCESSINFOCLASS class, void *info,
ULONG size, ULONG *ret_len ); ULONG size, ULONG *ret_len );
NTSTATUS (WINAPI *NtQueryInformationThread)( HANDLE handle, THREADINFOCLASS class,
void *data, ULONG length, ULONG *ret_len );
NTSTATUS (WINAPI *NtQueryObject)( HANDLE handle, OBJECT_INFORMATION_CLASS info_class, NTSTATUS (WINAPI *NtQueryObject)( HANDLE handle, OBJECT_INFORMATION_CLASS info_class,
void *ptr, ULONG len, ULONG *used_len ); void *ptr, ULONG len, ULONG *used_len );
NTSTATUS (WINAPI *NtQueryPerformanceCounter)( LARGE_INTEGER *counter, LARGE_INTEGER *frequency ); NTSTATUS (WINAPI *NtQueryPerformanceCounter)( LARGE_INTEGER *counter, LARGE_INTEGER *frequency );
@ -136,9 +125,6 @@ struct unix_funcs
NTSTATUS (WINAPI *NtQueryVolumeInformationFile)( HANDLE handle, IO_STATUS_BLOCK *io, NTSTATUS (WINAPI *NtQueryVolumeInformationFile)( HANDLE handle, IO_STATUS_BLOCK *io,
void *buffer, ULONG length, void *buffer, ULONG length,
FS_INFORMATION_CLASS info_class ); FS_INFORMATION_CLASS info_class );
NTSTATUS (WINAPI *NtQueueApcThread)( HANDLE handle, PNTAPCFUNC func, ULONG_PTR arg1,
ULONG_PTR arg2, ULONG_PTR arg3 );
NTSTATUS (WINAPI *NtRaiseException)( EXCEPTION_RECORD *rec, CONTEXT *context, BOOL first_chance );
NTSTATUS (WINAPI *NtReadFile)( HANDLE handle, HANDLE event, PIO_APC_ROUTINE apc, void *apc_user, NTSTATUS (WINAPI *NtReadFile)( HANDLE handle, HANDLE event, PIO_APC_ROUTINE apc, void *apc_user,
IO_STATUS_BLOCK *io, void *buffer, ULONG length, IO_STATUS_BLOCK *io, void *buffer, ULONG length,
LARGE_INTEGER *offset, ULONG *key ); LARGE_INTEGER *offset, ULONG *key );
@ -150,24 +136,17 @@ struct unix_funcs
SIZE_T size, SIZE_T *bytes_read ); SIZE_T size, SIZE_T *bytes_read );
NTSTATUS (WINAPI *NtResetWriteWatch)( HANDLE process, PVOID base, SIZE_T size ); NTSTATUS (WINAPI *NtResetWriteWatch)( HANDLE process, PVOID base, SIZE_T size );
NTSTATUS (WINAPI *NtResumeProcess)( HANDLE handle ); NTSTATUS (WINAPI *NtResumeProcess)( HANDLE handle );
NTSTATUS (WINAPI *NtResumeThread)( HANDLE handle, ULONG *count );
NTSTATUS (WINAPI *NtSetContextThread)( HANDLE handle, const CONTEXT *context );
NTSTATUS (WINAPI *NtSetInformationFile)( HANDLE handle, IO_STATUS_BLOCK *io, NTSTATUS (WINAPI *NtSetInformationFile)( HANDLE handle, IO_STATUS_BLOCK *io,
void *ptr, ULONG len, FILE_INFORMATION_CLASS class ); void *ptr, ULONG len, FILE_INFORMATION_CLASS class );
NTSTATUS (WINAPI *NtSetInformationObject)( HANDLE handle, OBJECT_INFORMATION_CLASS info_class, NTSTATUS (WINAPI *NtSetInformationObject)( HANDLE handle, OBJECT_INFORMATION_CLASS info_class,
void *ptr, ULONG len ); void *ptr, ULONG len );
NTSTATUS (WINAPI *NtSetInformationProcess)( HANDLE handle, PROCESSINFOCLASS class, NTSTATUS (WINAPI *NtSetInformationProcess)( HANDLE handle, PROCESSINFOCLASS class,
void *info, ULONG size ); void *info, ULONG size );
NTSTATUS (WINAPI *NtSetInformationThread)( HANDLE handle, THREADINFOCLASS class,
const void *data, ULONG length );
NTSTATUS (WINAPI *NtSetLdtEntries)( ULONG sel1, LDT_ENTRY entry1, ULONG sel2, LDT_ENTRY entry2 );
NTSTATUS (WINAPI *NtSetSystemTime)( const LARGE_INTEGER *new, LARGE_INTEGER *old ); NTSTATUS (WINAPI *NtSetSystemTime)( const LARGE_INTEGER *new, LARGE_INTEGER *old );
NTSTATUS (WINAPI *NtSetVolumeInformationFile)( HANDLE handle, IO_STATUS_BLOCK *io, void *info, NTSTATUS (WINAPI *NtSetVolumeInformationFile)( HANDLE handle, IO_STATUS_BLOCK *io, void *info,
ULONG length, FS_INFORMATION_CLASS class ); ULONG length, FS_INFORMATION_CLASS class );
NTSTATUS (WINAPI *NtSuspendProcess)( HANDLE handle ); NTSTATUS (WINAPI *NtSuspendProcess)( HANDLE handle );
NTSTATUS (WINAPI *NtSuspendThread)( HANDLE handle, ULONG *count );
NTSTATUS (WINAPI *NtTerminateProcess)( HANDLE handle, LONG exit_code ); NTSTATUS (WINAPI *NtTerminateProcess)( HANDLE handle, LONG exit_code );
NTSTATUS (WINAPI *NtTerminateThread)( HANDLE handle, LONG exit_code );
NTSTATUS (WINAPI *NtUnlockVirtualMemory)( HANDLE process, PVOID *addr, NTSTATUS (WINAPI *NtUnlockVirtualMemory)( HANDLE process, PVOID *addr,
SIZE_T *size, ULONG unknown ); SIZE_T *size, ULONG unknown );
NTSTATUS (WINAPI *NtUnmapViewOfSection)( HANDLE process, PVOID addr ); NTSTATUS (WINAPI *NtUnmapViewOfSection)( HANDLE process, PVOID addr );