Sweden-Number/programs/winetest/include/ntdll.pm

341 lines
22 KiB
Perl

package ntdll;
use strict;
require Exporter;
use wine;
use vars qw(@ISA @EXPORT @EXPORT_OK);
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
my $module_declarations = {
"DbgBreakPoint" => ["void", []],
"DbgUserBreakPoint" => ["void", []],
"NtAcceptConnectPort" => ["long", ["long", "long", "long", "long", "long", "long"]],
"NtAccessCheck" => ["long", ["ptr", "long", "long", "ptr", "ptr", "ptr", "ptr", "ptr"]],
"NtAdjustPrivilegesToken" => ["long", ["long", "long", "ptr", "long", "ptr", "ptr"]],
"NtAllocateLocallyUniqueId" => ["long", ["ptr"]],
"NtAllocateUuids" => ["long", ["ptr", "ptr", "ptr"]],
"NtClearEvent" => ["long", ["long"]],
"NtClose" => ["long", ["long"]],
"NtCompleteConnectPort" => ["long", ["long"]],
"NtConnectPort" => ["long", ["long", "ptr", "long", "long", "long", "long", "long", "long"]],
"NtCreateDirectoryObject" => ["long", ["ptr", "long", "ptr"]],
"NtCreateEvent" => ["long", ["ptr", "long", "ptr", "long", "long"]],
"NtCreateKey" => ["long", ["ptr", "long", "ptr", "long", "ptr", "long", "ptr"]],
"NtCreateMailslotFile" => ["long", ["long", "long", "long", "long", "long", "long", "long", "long"]],
"NtCreatePagingFile" => ["long", ["ptr", "long", "long", "ptr"]],
"NtCreatePort" => ["long", ["long", "long", "long", "long", "long"]],
"NtCreateSection" => ["long", ["ptr", "long", "ptr", "ptr", "long", "long", "long"]],
"NtCreateSemaphore" => ["long", ["ptr", "long", "ptr", "long", "long"]],
"NtCreateSymbolicLinkObject" => ["long", ["ptr", "long", "ptr", "ptr"]],
"NtCreateTimer" => ["long", ["ptr", "long", "ptr", "long"]],
"NtCurrentTeb" => ["ptr", []],
"NtDeleteKey" => ["long", ["long"]],
"NtDeleteValueKey" => ["long", ["long", "ptr"]],
"NtDeviceIoControlFile" => ["long", ["long", "long", "ptr", "ptr", "ptr", "long", "ptr", "long", "ptr", "long"]],
"NtDisplayString" => ["long", ["ptr"]],
"NtDuplicateObject" => ["long", ["long", "ptr", "long", "ptr", "long", "long", "long"]],
"NtDuplicateToken" => ["long", ["long", "long", "ptr", "long", "long", "ptr"]],
"NtEnumerateKey" => ["long", ["long", "long", "long", "ptr", "long", "ptr"]],
"NtEnumerateValueKey" => ["long", ["long", "long", "long", "ptr", "long", "ptr"]],
"NtFlushKey" => ["long", ["long"]],
"NtFsControlFile" => ["long", ["long", "long", "ptr", "ptr", "ptr", "long", "ptr", "long", "ptr", "long"]],
"NtListenPort" => ["long", ["long", "long"]],
"NtLoadKey" => ["long", ["ptr", "ptr"]],
"NtMapViewOfSection" => ["long", ["long", "long", "ptr", "long", "long", "ptr", "ptr", "long", "long", "long"]],
"NtNotifyChangeKey" => ["long", ["long", "long", "ptr", "ptr", "ptr", "long", "long", "ptr", "long", "long"]],
"NtOpenDirectoryObject" => ["long", ["ptr", "long", "ptr"]],
"NtOpenEvent" => ["long", ["ptr", "long", "ptr"]],
"NtOpenFile" => ["long", ["ptr", "long", "ptr", "ptr", "long", "long"]],
"NtOpenKey" => ["long", ["ptr", "long", "ptr"]],
"NtOpenProcessToken" => ["long", ["long", "long", "ptr"]],
"NtOpenSection" => ["long", ["ptr", "long", "ptr"]],
"NtOpenSemaphore" => ["long", ["ptr", "long", "ptr"]],
"NtOpenSymbolicLinkObject" => ["long", ["ptr", "long", "ptr"]],
"NtOpenThreadToken" => ["long", ["long", "long", "long", "ptr"]],
"NtPowerInformation" => ["long", ["long", "long", "long", "long", "long"]],
"NtPulseEvent" => ["long", ["long", "ptr"]],
"NtQueryDirectoryFile" => ["long", ["long", "long", "ptr", "ptr", "ptr", "ptr", "long", "long", "long", "ptr", "long"]],
"NtQueryDirectoryObject" => ["long", ["long", "ptr", "long", "long", "long", "ptr", "ptr"]],
"NtQueryEvent" => ["long", ["long", "long", "ptr", "long", "ptr"]],
"NtQueryInformationFile" => ["long", ["long", "ptr", "ptr", "long", "long"]],
"NtQueryInformationProcess" => ["long", ["long", "long", "ptr", "long", "ptr"]],
"NtQueryInformationThread" => ["long", ["long", "long", "ptr", "long", "ptr"]],
"NtQueryInformationToken" => ["long", ["long", "long", "ptr", "long", "ptr"]],
"NtQueryKey" => ["long", ["long", "long", "ptr", "long", "ptr"]],
"NtQueryObject" => ["long", ["long", "long", "ptr", "long", "ptr"]],
"NtQueryPerformanceCounter" => ["long", ["ptr", "ptr"]],
"NtQuerySection" => ["long", ["long", "ptr", "ptr", "long", "ptr"]],
"NtQuerySecurityObject" => ["long", ["long", "long", "ptr", "long", "ptr"]],
"NtQuerySemaphore" => ["long", ["long", "ptr", "ptr", "long", "ptr"]],
"NtQuerySymbolicLinkObject" => ["long", ["long", "ptr", "ptr"]],
"NtQuerySystemInformation" => ["long", ["long", "ptr", "long", "ptr"]],
"NtQuerySystemTime" => ["void", ["ptr"]],
"NtQueryTimerResolution" => ["long", ["long", "long", "long"]],
"NtQueryValueKey" => ["long", ["long", "ptr", "long", "ptr", "long", "ptr"]],
"NtQueryVolumeInformationFile" => ["long", ["long", "ptr", "ptr", "long", "long"]],
"NtRaiseException" => ["void", ["ptr", "ptr", "long", "ptr"]],
"NtReadFile" => ["long", ["long", "long", "ptr", "ptr", "ptr", "ptr", "long", "ptr", "ptr"]],
"NtRegisterThreadTerminatePort" => ["long", ["long"]],
"NtReleaseSemaphore" => ["long", ["long", "long", "ptr"]],
"NtReplaceKey" => ["long", ["ptr", "long", "ptr"]],
"NtReplyWaitReceivePort" => ["long", ["long", "long", "long", "long"]],
"NtRequestWaitReplyPort" => ["long", ["long", "long", "long"]],
"NtResetEvent" => ["long", ["long", "ptr"]],
"NtRestoreKey" => ["long", ["long", "long", "long"]],
"NtResumeThread" => ["long", ["long", "ptr"]],
"NtSaveKey" => ["long", ["long", "long"]],
"NtSetEvent" => ["long", ["long", "ptr"]],
"NtSetInformationFile" => ["long", ["long", "ptr", "ptr", "long", "long"]],
"NtSetInformationKey" => ["long", ["long", "long", "ptr", "long"]],
"NtSetInformationProcess" => ["long", ["long", "long", "ptr", "long"]],
"NtSetInformationThread" => ["long", ["long", "long", "ptr", "long"]],
"NtSetIntervalProfile" => ["long", ["long", "long"]],
"NtSetSecurityObject" => ["long", ["long", "long", "ptr"]],
"NtSetTimer" => ["long", ["long", "ptr", "ptr", "ptr", "long", "long", "ptr"]],
"NtSetValueKey" => ["long", ["long", "ptr", "long", "long", "ptr", "long"]],
"NtSetVolumeInformationFile" => ["long", ["long", "ptr", "ptr", "long", "long"]],
"NtTerminateProcess" => ["long", ["long", "long"]],
"NtTerminateThread" => ["long", ["long", "long"]],
"NtUnloadKey" => ["long", ["long"]],
"NtWaitForSingleObject" => ["long", ["ptr", "long", "ptr"]],
"NtWriteFile" => ["long", ["long", "long", "ptr", "ptr", "ptr", "ptr", "long", "ptr", "ptr"]],
"RtlAcquirePebLock" => ["void", []],
"RtlAcquireResourceExclusive" => ["long", ["ptr", "long"]],
"RtlAcquireResourceShared" => ["long", ["ptr", "long"]],
"RtlAddAccessAllowedAce" => ["long", ["ptr", "long", "long", "ptr"]],
"RtlAddAce" => ["long", ["ptr", "long", "long", "ptr", "long"]],
"RtlAdjustPrivilege" => ["long", ["long", "long", "long", "long"]],
"RtlAllocateAndInitializeSid" => ["long", ["ptr", "long", "long", "long", "long", "long", "long", "long", "long", "long", "ptr"]],
"RtlAllocateHeap" => ["ptr", ["long", "long", "long"]],
"RtlAnsiStringToUnicodeSize" => ["long", ["ptr"]],
"RtlAnsiStringToUnicodeString" => ["long", ["ptr", "ptr", "long"]],
"RtlAppendAsciizToString" => ["long", ["ptr", "str"]],
"RtlAppendStringToString" => ["long", ["ptr", "ptr"]],
"RtlAppendUnicodeStringToString" => ["long", ["ptr", "ptr"]],
"RtlAppendUnicodeToString" => ["long", ["ptr", "wstr"]],
"RtlAssert" => ["void", ["ptr", "ptr", "long", "long"]],
"RtlClearBits" => ["long", ["long", "long", "long"]],
"RtlCompactHeap" => ["long", ["long", "long"]],
"RtlCompareMemory" => ["long", ["ptr", "ptr", "long"]],
"RtlCompareString" => ["long", ["ptr", "ptr", "long"]],
"RtlCompareUnicodeString" => ["long", ["ptr", "ptr", "long"]],
"RtlConvertLongToLargeInteger" => ["longlong", ["long"]],
"RtlConvertSidToUnicodeString" => ["long", ["ptr", "ptr", "long"]],
"RtlConvertUlongToLargeInteger" => ["longlong", ["long"]],
"RtlCopySid" => ["long", ["long", "ptr", "ptr"]],
"RtlCopyString" => ["void", ["ptr", "ptr"]],
"RtlCopyUnicodeString" => ["void", ["ptr", "ptr"]],
"RtlCreateAcl" => ["long", ["ptr", "long", "long"]],
"RtlCreateEnvironment" => ["long", ["long", "long"]],
"RtlCreateHeap" => ["long", ["long", "ptr", "long", "long", "ptr", "ptr"]],
"RtlCreateSecurityDescriptor" => ["long", ["ptr", "long"]],
"RtlCreateUnicodeString" => ["long", ["ptr", "wstr"]],
"RtlCreateUnicodeStringFromAsciiz" => ["long", ["ptr", "str"]],
"RtlDeleteCriticalSection" => ["long", ["ptr"]],
"RtlDeleteResource" => ["void", ["ptr"]],
"RtlDeleteSecurityObject" => ["long", ["long"]],
"RtlDestroyEnvironment" => ["long", ["long"]],
"RtlDestroyHeap" => ["long", ["long"]],
"RtlDosPathNameToNtPathName_U" => ["long", ["wstr", "ptr", "long", "long"]],
"RtlDumpResource" => ["void", ["ptr"]],
"RtlEnlargedIntegerMultiply" => ["longlong", ["long", "long"]],
"RtlEnlargedUnsignedDivide" => ["long", ["long", "long", "long", "ptr"]],
"RtlEnlargedUnsignedMultiply" => ["longlong", ["long", "long"]],
"RtlEnterCriticalSection" => ["long", ["ptr"]],
"RtlEqualPrefixSid" => ["long", ["ptr", "ptr"]],
"RtlEqualSid" => ["long", ["ptr", "ptr"]],
"RtlEqualString" => ["long", ["ptr", "ptr", "long"]],
"RtlEqualUnicodeString" => ["long", ["ptr", "ptr", "long"]],
"RtlEraseUnicodeString" => ["void", ["ptr"]],
"RtlExtendedIntegerMultiply" => ["longlong", ["long", "long", "long"]],
"RtlExtendedLargeIntegerDivide" => ["longlong", ["long", "long", "long", "ptr"]],
"RtlFillMemory" => ["void", ["ptr", "long", "long"]],
"RtlFindClearBits" => ["long", ["long", "long", "long"]],
"RtlFirstFreeAce" => ["long", ["ptr", "ptr"]],
"RtlFormatCurrentUserKeyPath" => ["long", ["ptr"]],
"RtlFreeAnsiString" => ["void", ["ptr"]],
"RtlFreeHeap" => ["long", ["long", "long", "ptr"]],
"RtlFreeOemString" => ["void", ["ptr"]],
"RtlFreeSid" => ["long", ["ptr"]],
"RtlFreeUnicodeString" => ["void", ["ptr"]],
"RtlGetAce" => ["long", ["ptr", "long", "ptr"]],
"RtlGetControlSecurityDescriptor" => ["long", ["ptr", "ptr", "ptr"]],
"RtlGetDaclSecurityDescriptor" => ["long", ["ptr", "ptr", "ptr", "ptr"]],
"RtlGetGroupSecurityDescriptor" => ["long", ["ptr", "ptr", "ptr"]],
"RtlGetNtProductType" => ["long", ["ptr"]],
"RtlGetOwnerSecurityDescriptor" => ["long", ["ptr", "ptr", "ptr"]],
"RtlGetProcessHeaps" => ["long", ["long", "ptr"]],
"RtlGetSaclSecurityDescriptor" => ["long", ["ptr", "ptr", "ptr", "ptr"]],
"RtlIdentifierAuthoritySid" => ["ptr", ["ptr"]],
"RtlImageNtHeader" => ["ptr", ["long"]],
"RtlImpersonateSelf" => ["long", ["long"]],
"RtlInitAnsiString" => ["void", ["ptr", "str"]],
"RtlInitString" => ["void", ["ptr", "str"]],
"RtlInitUnicodeString" => ["void", ["ptr", "wstr"]],
"RtlInitializeBitMap" => ["long", ["long", "long", "long"]],
"RtlInitializeCriticalSection" => ["long", ["ptr"]],
"RtlInitializeCriticalSectionAndSpinCount" => ["long", ["ptr", "long"]],
"RtlInitializeGenericTable" => ["long", []],
"RtlInitializeResource" => ["void", ["ptr"]],
"RtlInitializeSid" => ["long", ["ptr", "ptr", "long"]],
"RtlIntegerToChar" => ["long", ["long", "long", "long", "long"]],
"RtlIsTextUnicode" => ["long", ["ptr", "long", "ptr"]],
"RtlLargeIntegerAdd" => ["longlong", ["long", "long", "long", "long"]],
"RtlLargeIntegerArithmeticShift" => ["longlong", ["long", "long", "long"]],
"RtlLargeIntegerDivide" => ["longlong", ["long", "long", "long", "long", "ptr"]],
"RtlLargeIntegerNegate" => ["longlong", ["long", "long"]],
"RtlLargeIntegerShiftLeft" => ["longlong", ["long", "long", "long"]],
"RtlLargeIntegerShiftRight" => ["longlong", ["long", "long", "long"]],
"RtlLargeIntegerSubtract" => ["longlong", ["long", "long", "long", "long"]],
"RtlLeaveCriticalSection" => ["long", ["ptr"]],
"RtlLengthRequiredSid" => ["long", ["long"]],
"RtlLengthSecurityDescriptor" => ["long", ["ptr"]],
"RtlLengthSid" => ["long", ["ptr"]],
"RtlLockHeap" => ["long", ["long"]],
"RtlMakeSelfRelativeSD" => ["long", ["ptr", "ptr", "ptr"]],
"RtlMoveMemory" => ["void", ["ptr", "ptr", "long"]],
"RtlMultiByteToUnicodeN" => ["long", ["wstr", "long", "ptr", "str", "long"]],
"RtlMultiByteToUnicodeSize" => ["long", ["ptr", "str", "long"]],
"RtlNewSecurityObject" => ["long", ["long", "long", "long", "long", "long", "long"]],
"RtlNormalizeProcessParams" => ["ptr", ["ptr"]],
"RtlNtStatusToDosError" => ["long", ["long"]],
"RtlOemStringToUnicodeSize" => ["long", ["ptr"]],
"RtlOemStringToUnicodeString" => ["long", ["ptr", "ptr", "long"]],
"RtlOemToUnicodeN" => ["long", ["wstr", "long", "ptr", "str", "long"]],
"RtlOpenCurrentUser" => ["long", ["long", "ptr"]],
"RtlPrefixString" => ["long", ["ptr", "ptr", "long"]],
"RtlPrefixUnicodeString" => ["long", ["ptr", "ptr", "long"]],
"RtlQueryEnvironmentVariable_U" => ["long", ["long", "ptr", "ptr"]],
"RtlRaiseException" => ["void", ["ptr", "ptr"]],
"RtlRaiseStatus" => ["void", ["long"]],
"RtlReAllocateHeap" => ["ptr", ["long", "long", "ptr", "long"]],
"RtlReleasePebLock" => ["void", []],
"RtlReleaseResource" => ["void", ["ptr"]],
"RtlSecondsSince1970ToTime" => ["void", ["long", "ptr"]],
"RtlSecondsSince1980ToTime" => ["void", ["long", "ptr"]],
"RtlSetBits" => ["long", ["long", "long", "long"]],
"RtlSetDaclSecurityDescriptor" => ["long", ["ptr", "long", "ptr", "long"]],
"RtlSetEnvironmentVariable" => ["long", ["long", "ptr", "ptr"]],
"RtlSetGroupSecurityDescriptor" => ["long", ["ptr", "ptr", "long"]],
"RtlSetOwnerSecurityDescriptor" => ["long", ["ptr", "ptr", "long"]],
"RtlSetSaclSecurityDescriptor" => ["long", ["ptr", "long", "ptr", "long"]],
"RtlSizeHeap" => ["long", ["long", "long", "ptr"]],
"RtlSubAuthorityCountSid" => ["ptr", ["ptr"]],
"RtlSubAuthoritySid" => ["ptr", ["ptr", "long"]],
"RtlSystemTimeToLocalTime" => ["void", ["ptr", "ptr"]],
"RtlTimeFieldsToTime" => ["long", ["ptr", "ptr"]],
"RtlTimeToElapsedTimeFields" => ["void", ["ptr", "ptr"]],
"RtlTimeToSecondsSince1970" => ["long", ["ptr", "ptr"]],
"RtlTimeToSecondsSince1980" => ["long", ["ptr", "ptr"]],
"RtlTimeToTimeFields" => ["void", ["ptr", "ptr"]],
"RtlTryEnterCriticalSection" => ["long", ["ptr"]],
"RtlUnicodeStringToAnsiSize" => ["long", ["ptr"]],
"RtlUnicodeStringToAnsiString" => ["long", ["ptr", "ptr", "long"]],
"RtlUnicodeStringToOemSize" => ["long", ["ptr"]],
"RtlUnicodeStringToOemString" => ["long", ["ptr", "ptr", "long"]],
"RtlUnicodeToMultiByteN" => ["long", ["str", "long", "ptr", "wstr", "long"]],
"RtlUnicodeToMultiByteSize" => ["long", ["ptr", "wstr", "long"]],
"RtlUnicodeToOemN" => ["long", ["str", "long", "ptr", "wstr", "long"]],
"RtlUnlockHeap" => ["long", ["long"]],
"RtlUnwind" => ["void", ["ptr", "ptr", "ptr", "long", "ptr"]],
"RtlUpcaseUnicodeString" => ["long", ["ptr", "ptr", "long"]],
"RtlUpcaseUnicodeStringToAnsiString" => ["long", ["ptr", "ptr", "long"]],
"RtlUpcaseUnicodeStringToOemString" => ["long", ["ptr", "ptr", "long"]],
"RtlUpcaseUnicodeToMultiByteN" => ["long", ["str", "long", "ptr", "wstr", "long"]],
"RtlUpcaseUnicodeToOemN" => ["long", ["str", "long", "ptr", "wstr", "long"]],
"RtlUpperString" => ["void", ["ptr", "ptr"]],
"RtlValidSecurityDescriptor" => ["long", ["ptr"]],
"RtlValidSid" => ["long", ["ptr"]],
"RtlValidateHeap" => ["long", ["long", "long", "ptr"]],
"RtlWalkHeap" => ["long", ["long", "ptr"]],
"RtlZeroMemory" => ["void", ["ptr", "long"]],
"RtlpUnWaitCriticalSection" => ["long", ["ptr"]],
"RtlpWaitForCriticalSection" => ["long", ["ptr"]],
"RtlxAnsiStringToUnicodeSize" => ["long", ["ptr"]],
"RtlxOemStringToUnicodeSize" => ["long", ["ptr"]],
"RtlxUnicodeStringToAnsiSize" => ["long", ["ptr"]],
"RtlxUnicodeStringToOemSize" => ["long", ["ptr"]],
"VerSetConditionMask" => ["longlong", ["long", "long", "long", "long"]],
"ZwAcceptConnectPort" => ["long", ["long", "long", "long", "long", "long", "long"]],
"ZwAdjustGroupsToken" => ["long", ["long", "long", "ptr", "long", "ptr", "ptr"]],
"ZwCompleteConnectPort" => ["long", ["long"]],
"ZwConnectPort" => ["long", ["long", "ptr", "long", "long", "long", "long", "long", "long"]],
"ZwCreateDirectoryObject" => ["long", ["ptr", "long", "ptr"]],
"ZwCreateEvent" => ["long", ["ptr", "long", "ptr", "long", "long"]],
"ZwCreateKey" => ["long", ["ptr", "long", "ptr", "long", "ptr", "long", "ptr"]],
"ZwCreateMailslotFile" => ["long", ["long", "long", "long", "long", "long", "long", "long", "long"]],
"ZwCreatePagingFile" => ["long", ["ptr", "long", "long", "ptr"]],
"ZwCreatePort" => ["long", ["long", "long", "long", "long", "long"]],
"ZwCreateSection" => ["long", ["ptr", "long", "ptr", "ptr", "long", "long", "long"]],
"ZwCreateTimer" => ["long", ["ptr", "long", "ptr", "long"]],
"ZwDeleteKey" => ["long", ["long"]],
"ZwDeleteValueKey" => ["long", ["long", "ptr"]],
"ZwDeviceIoControlFile" => ["long", ["long", "long", "ptr", "ptr", "ptr", "long", "ptr", "long", "ptr", "long"]],
"ZwDuplicateObject" => ["long", ["long", "ptr", "long", "ptr", "long", "long", "long"]],
"ZwDuplicateToken" => ["long", ["long", "long", "ptr", "long", "long", "ptr"]],
"ZwEnumerateKey" => ["long", ["long", "long", "long", "ptr", "long", "ptr"]],
"ZwEnumerateValueKey" => ["long", ["long", "long", "long", "ptr", "long", "ptr"]],
"ZwFlushKey" => ["long", ["long"]],
"ZwFsControlFile" => ["long", ["long", "long", "ptr", "ptr", "ptr", "long", "ptr", "long", "ptr", "long"]],
"ZwListenPort" => ["long", ["long", "long"]],
"ZwLoadKey" => ["long", ["ptr", "ptr"]],
"ZwMapViewOfSection" => ["long", ["long", "long", "ptr", "long", "long", "ptr", "ptr", "long", "long", "long"]],
"ZwNotifyChangeKey" => ["long", ["long", "long", "ptr", "ptr", "ptr", "long", "long", "ptr", "long", "long"]],
"ZwOpenDirectoryObject" => ["long", ["ptr", "long", "ptr"]],
"ZwOpenEvent" => ["long", ["ptr", "long", "ptr"]],
"ZwOpenFile" => ["long", ["ptr", "long", "ptr", "ptr", "long", "long"]],
"ZwOpenKey" => ["long", ["ptr", "long", "ptr"]],
"ZwOpenProcessToken" => ["long", ["long", "long", "ptr"]],
"ZwOpenSection" => ["long", ["ptr", "long", "ptr"]],
"ZwOpenThreadToken" => ["long", ["long", "long", "long", "ptr"]],
"ZwQueryDirectoryFile" => ["long", ["long", "long", "ptr", "ptr", "ptr", "ptr", "long", "long", "long", "ptr", "long"]],
"ZwQueryDirectoryObject" => ["long", ["long", "ptr", "long", "long", "long", "ptr", "ptr"]],
"ZwQueryInformationFile" => ["long", ["long", "ptr", "ptr", "long", "long"]],
"ZwQueryInformationProcess" => ["long", ["long", "long", "ptr", "long", "ptr"]],
"ZwQueryInformationThread" => ["long", ["long", "long", "ptr", "long", "ptr"]],
"ZwQueryInformationToken" => ["long", ["long", "long", "ptr", "long", "ptr"]],
"ZwQueryKey" => ["long", ["long", "long", "ptr", "long", "ptr"]],
"ZwQueryObject" => ["long", ["long", "long", "ptr", "long", "ptr"]],
"ZwQuerySystemInformation" => ["long", ["long", "ptr", "long", "ptr"]],
"ZwQuerySystemTime" => ["void", ["ptr"]],
"ZwQueryValueKey" => ["long", ["long", "ptr", "long", "ptr", "long", "ptr"]],
"ZwQueryVolumeInformationFile" => ["long", ["long", "ptr", "ptr", "long", "long"]],
"ZwReadFile" => ["long", ["long", "long", "ptr", "ptr", "ptr", "ptr", "long", "ptr", "ptr"]],
"ZwRegisterThreadTerminatePort" => ["long", ["long"]],
"ZwReplaceKey" => ["long", ["ptr", "long", "ptr"]],
"ZwReplyWaitReceivePort" => ["long", ["long", "long", "long", "long"]],
"ZwRequestWaitReplyPort" => ["long", ["long", "long", "long"]],
"ZwRestoreKey" => ["long", ["long", "long", "long"]],
"ZwResumeThread" => ["long", ["long", "ptr"]],
"ZwSaveKey" => ["long", ["long", "long"]],
"ZwSetEvent" => ["long", ["long", "ptr"]],
"ZwSetInformationFile" => ["long", ["long", "ptr", "ptr", "long", "long"]],
"ZwSetInformationKey" => ["long", ["long", "long", "ptr", "long"]],
"ZwSetInformationProcess" => ["long", ["long", "long", "ptr", "long"]],
"ZwSetInformationThread" => ["long", ["long", "long", "ptr", "long"]],
"ZwSetIntervalProfile" => ["long", ["long", "long"]],
"ZwSetTimer" => ["long", ["long", "ptr", "ptr", "ptr", "long", "long", "ptr"]],
"ZwSetValueKey" => ["long", ["long", "ptr", "long", "long", "ptr", "long"]],
"ZwSetVolumeInformationFile" => ["long", ["long", "ptr", "ptr", "long", "long"]],
"ZwTerminateThread" => ["long", ["long", "long"]],
"ZwUnloadKey" => ["long", ["long"]],
"ZwWaitForSingleObject" => ["long", ["ptr", "long", "ptr"]],
"ZwWriteFile" => ["long", ["long", "long", "ptr", "ptr", "ptr", "ptr", "long", "ptr", "ptr"]],
"_alldiv" => ["longlong", ["long", "long", "long", "long"]],
"_allmul" => ["longlong", ["long", "long", "long", "long"]],
"_alloca_probe" => ["void", ["ptr"]],
"_allrem" => ["longlong", ["long", "long", "long", "long"]],
"_aulldiv" => ["longlong", ["long", "long", "long", "long"]],
"_aullrem" => ["longlong", ["long", "long", "long", "long"]],
"_chkstk" => ["void", ["ptr"]]
};
&wine::declare("ntdll",%$module_declarations);
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
1;