| 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"]], |
| "NtCreateFile" => ["long", ["ptr", "long", "ptr", "ptr", "ptr", "long", "long", "long", "long", "ptr", "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"]], |
| "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"]], |
| "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"]], |
| "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"]], |
| "ZwCreateFile" => ["long", ["ptr", "long", "ptr", "ptr", "ptr", "long", "long", "long", "long", "ptr", "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"]], |
| "_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; |