[CMAKE]
[reactos.git] / ntoskrnl / ntoskrnl.spec
index c742bd3..021abac 100644 (file)
@@ -1,5 +1,3 @@
-#include "include/reactos/msvctarget.h"
-
 @ stdcall CcCanIWrite(ptr long long long)
 @ stdcall CcCopyRead(ptr ptr long long ptr ptr)
 @ stdcall CcCopyWrite(ptr ptr long long ptr)
@@ -47,7 +45,7 @@
 @ stdcall CmUnRegisterCallback(long long)
 @ stdcall DbgBreakPoint()
 @ stdcall DbgBreakPointWithStatus(long)
-;DbgCommandString
+@ stdcall DbgCommandString(ptr ptr)
 @ stdcall DbgLoadImageSymbols(ptr ptr long)
 @ cdecl DbgPrint(str)
 @ cdecl DbgPrintEx(long long str)
@@ -55,6 +53,7 @@
 @ stdcall DbgPrompt(str ptr long)
 @ stdcall DbgQueryDebugFilterState(long long)
 @ stdcall DbgSetDebugFilterState(long long long)
+@ stdcall -arch=x86_64 ExAcquireFastMutex(ptr)
 @ fastcall ExAcquireFastMutexUnsafe(ptr)
 @ stdcall ExAcquireResourceExclusiveLite(ptr long)
 @ stdcall ExAcquireResourceSharedLite(ptr long)
@@ -80,8 +79,8 @@
 @ stdcall ExDisableResourceBoostLite(ptr)
 @ fastcall ExEnterCriticalRegionAndAcquireFastMutexUnsafe(ptr)
 @ stdcall ExEnterCriticalRegionAndAcquireResourceExclusive(ptr)
-;ExEnterCriticalRegionAndAcquireResourceShared
-;ExEnterCriticalRegionAndAcquireSharedWaitForExclusive
+@ stdcall ExEnterCriticalRegionAndAcquireResourceShared(ptr)
+@ stdcall ExEnterCriticalRegionAndAcquireSharedWaitForExclusive(ptr)
 @ stdcall ExEnumHandleTable(ptr ptr ptr ptr)
 @ extern ExEventObjectType _ExEventObjectType
 @ stdcall ExExtendZone(ptr ptr long)
 @ stdcall ExInitializeRundownProtectionCacheAware(ptr long)
 @ stdcall ExInitializeZone(ptr long ptr long)
 @ stdcall ExInterlockedAddLargeInteger(ptr long long ptr)
-@ fastcall ExInterlockedAddLargeStatistic(ptr long)
+@ fastcall -arch=i386,arm ExInterlockedAddLargeStatistic(ptr long)
 @ stdcall ExInterlockedAddUlong(ptr long ptr)
-@ fastcall ExInterlockedCompareExchange64(ptr ptr ptr ptr)
-@ stdcall ExInterlockedDecrementLong(ptr ptr)
-@ stdcall ExInterlockedExchangeUlong(ptr long ptr)
+@ fastcall -arch=i386 ExInterlockedCompareExchange64(ptr ptr ptr ptr)
+@ stdcall -arch=i386 ExInterlockedDecrementLong(ptr ptr)
+@ stdcall -arch=i386 ExInterlockedExchangeUlong(ptr long ptr)
 @ stdcall ExInterlockedExtendZone(ptr ptr long ptr)
-@ fastcall ExInterlockedFlushSList(ptr)
-@ stdcall ExInterlockedIncrementLong(ptr ptr)
+@ fastcall -arch=i386,arm ExInterlockedFlushSList(ptr)
+@ stdcall -arch=i386,arm ExInterlockedIncrementLong(ptr ptr)
 @ stdcall ExInterlockedInsertHeadList(ptr ptr ptr)
 @ stdcall ExInterlockedInsertTailList(ptr ptr ptr)
 @ stdcall ExInterlockedPopEntryList(ptr ptr)
-@ fastcall ExInterlockedPopEntrySList(ptr ptr)
+@ fastcall -arch=i386,arm ExInterlockedPopEntrySList(ptr ptr)
 @ stdcall ExInterlockedPushEntryList(ptr ptr ptr)
-@ fastcall ExInterlockedPushEntrySList(ptr ptr ptr)
+@ fastcall -arch=i386,arm ExInterlockedPushEntrySList(ptr ptr ptr)
 @ stdcall ExInterlockedRemoveHeadList(ptr ptr)
 @ stdcall ExIsProcessorFeaturePresent(long)
 @ stdcall ExIsResourceAcquiredExclusiveLite(ptr)
 @ stdcall ExIsResourceAcquiredSharedLite(ptr)
 @ stdcall ExLocalTimeToSystemTime(ptr ptr)
 @ stdcall ExNotifyCallback(ptr ptr ptr)
+@ stdcall -arch=x86_64 ExQueryDepthSList(ptr)
 @ stdcall ExQueryPoolBlockSize(ptr ptr)
 @ stdcall ExQueueWorkItem(ptr long)
 @ stdcall ExRaiseAccessViolation()
 @ fastcall ExReInitializeRundownProtectionCacheAware(ptr) ExfReInitializeRundownProtectionCacheAware
 @ stdcall ExRegisterCallback(ptr ptr ptr)
 @ stdcall ExReinitializeResourceLite(ptr)
+@ stdcall -arch=x86_64 ExReleaseFastMutex(ptr)
 @ fastcall ExReleaseFastMutexUnsafe(ptr)
 @ fastcall ExReleaseFastMutexUnsafeAndLeaveCriticalRegion(ptr)
 @ fastcall ExReleaseResourceAndLeaveCriticalRegion(ptr)
 @ stdcall ExSizeOfRundownProtectionCacheAware()
 @ stdcall ExSystemExceptionFilter()
 @ stdcall ExSystemTimeToLocalTime(ptr ptr)
+@ stdcall -arch=x86_64 ExTryToAcquireFastMutex(ptr)
 @ stdcall ExUnregisterCallback(ptr)
 @ stdcall ExUuidCreate(ptr)
 @ stdcall ExVerifySuite(long)
 @ extern ExWindowStationObjectType
 @ fastcall ExfAcquirePushLockExclusive(ptr)
 @ fastcall ExfAcquirePushLockShared(ptr)
-@ fastcall ExfInterlockedAddUlong(ptr long ptr)
-@ fastcall ExfInterlockedCompareExchange64(ptr ptr ptr)
-@ fastcall ExfInterlockedInsertHeadList(ptr ptr ptr)
-@ fastcall ExfInterlockedInsertTailList(ptr ptr ptr)
-@ fastcall ExfInterlockedPopEntryList(ptr ptr)
-@ fastcall ExfInterlockedPushEntryList(ptr ptr ptr)
-@ fastcall ExfInterlockedRemoveHeadList(ptr ptr)
+@ fastcall -arch=i386,arm ExfInterlockedAddUlong(ptr long ptr)
+@ fastcall -arch=i386,arm ExfInterlockedCompareExchange64(ptr ptr ptr)
+@ fastcall -arch=i386,arm ExfInterlockedInsertHeadList(ptr ptr ptr)
+@ fastcall -arch=i386,arm ExfInterlockedInsertTailList(ptr ptr ptr)
+@ fastcall -arch=i386,arm ExfInterlockedPopEntryList(ptr ptr)
+@ fastcall -arch=i386,arm ExfInterlockedPushEntryList(ptr ptr ptr)
+@ fastcall -arch=i386,arm ExfInterlockedRemoveHeadList(ptr ptr)
 @ fastcall ExfReleasePushLock(ptr)
 @ fastcall ExfReleasePushLockExclusive(ptr)
 @ fastcall ExfReleasePushLockShared(ptr)
 @ fastcall ExfTryToWakePushLock(ptr)
 @ fastcall ExfUnblockPushLock(ptr ptr)
-#ifdef _M_IX86
-@ fastcall Exfi386InterlockedDecrementLong(ptr)
-@ fastcall Exfi386InterlockedExchangeUlong(ptr long)
-@ fastcall Exfi386InterlockedIncrementLong(ptr)
-@ stdcall Exi386InterlockedDecrementLong(ptr)
-@ stdcall Exi386InterlockedExchangeUlong(ptr long long)
-@ stdcall Exi386InterlockedIncrementLong(ptr)
-#endif
-@ fastcall ExiAcquireFastMutex(ptr) ExAcquireFastMutex
-@ fastcall ExiReleaseFastMutex(ptr) ExReleaseFastMutex
-@ fastcall ExiTryToAcquireFastMutex(ptr) ExTryToAcquireFastMutex
+@ stdcall -arch=x86_64 ExpInterlockedFlushSList(ptr)
+@ stdcall -arch=x86_64 ExpInterlockedPopEntrySList(ptr ptr)
+@ stdcall -arch=x86_64 ExpInterlockedPushEntrySList(ptr ptr)
+@ fastcall -arch=i386 Exfi386InterlockedDecrementLong(ptr)
+@ fastcall -arch=i386 Exfi386InterlockedExchangeUlong(ptr long)
+@ fastcall -arch=i386 Exfi386InterlockedIncrementLong(ptr)
+@ stdcall -arch=i386 Exi386InterlockedDecrementLong(ptr)
+@ stdcall -arch=i386 Exi386InterlockedExchangeUlong(ptr long long)
+@ stdcall -arch=i386 Exi386InterlockedIncrementLong(ptr)
+@ fastcall -arch=i386 ExiAcquireFastMutex(ptr) ExAcquireFastMutex
+@ fastcall -arch=i386 ExiReleaseFastMutex(ptr) ExReleaseFastMutex
+@ fastcall -arch=i386 ExiTryToAcquireFastMutex(ptr) ExTryToAcquireFastMutex
 @ stdcall FsRtlAcquireFileExclusive(ptr)
 ;FsRtlAddBaseMcbEntry
 @ stdcall FsRtlAddLargeMcbEntry(ptr long long long long long long)
 @ stdcall InbvSetTextColor(long)
 @ stdcall InbvSolidColorFill(long long long long long)
 @ extern InitSafeBootMode
-@ fastcall InterlockedCompareExchange(ptr long long)
-@ fastcall InterlockedDecrement(ptr)
-@ fastcall InterlockedExchange(ptr long)
-@ fastcall InterlockedExchangeAdd(ptr long)
-@ fastcall InterlockedIncrement(ptr)
-@ fastcall InterlockedPopEntrySList(ptr)
-@ fastcall InterlockedPushEntrySList(ptr ptr)
+@ fastcall -arch=i386,arm InterlockedCompareExchange(ptr long long)
+@ fastcall -arch=i386,arm InterlockedDecrement(ptr)
+@ fastcall -arch=i386,arm InterlockedExchange(ptr long)
+@ fastcall -arch=i386,arm InterlockedExchangeAdd(ptr long)
+@ fastcall -arch=i386,arm InterlockedIncrement(ptr)
+@ fastcall -arch=i386,arm InterlockedPopEntrySList(ptr)
+@ fastcall -arch=i386,arm InterlockedPushEntrySList(ptr ptr)
+@ stdcall -arch=x86_64 InitializeSListHead(ptr) RtlInitializeSListHead
 @ stdcall IoAcquireCancelSpinLock(ptr)
 @ stdcall IoAcquireRemoveLockEx(ptr ptr str long long)
 @ stdcall IoAcquireVpbSpinLock(ptr)
 @ stdcall IoInitializeTimer(ptr ptr ptr)
 @ stdcall IoInvalidateDeviceRelations(ptr long)
 @ stdcall IoInvalidateDeviceState(ptr)
+@ stdcall -arch=x86_64 IoIs32bitProcess(ptr)
 @ stdcall IoIsFileOriginRemote(ptr)
 @ stdcall IoIsOperationSynchronous(ptr)
 @ stdcall IoIsSystemThread(ptr)
 @ stdcall IoSynchronousInvalidateDeviceRelations(ptr long)
 @ stdcall IoSynchronousPageWrite(ptr ptr ptr ptr ptr)
 @ stdcall IoThreadToProcess(ptr)
-;IoTranslateBusAddress
+@ stdcall IoTranslateBusAddress(long long long long ptr ptr)
 @ stdcall IoUnregisterFileSystem(ptr)
 @ stdcall IoUnregisterFsRegistrationChange(ptr ptr)
 @ stdcall IoUnregisterPlugPlayNotification(ptr)
 @ stdcall IoVolumeDeviceToDosName(ptr ptr)
 @ stdcall IoWMIAllocateInstanceIds(ptr long ptr)
 @ stdcall IoWMIDeviceObjectToInstanceName(ptr ptr ptr)
+@ stdcall -arch=x86_64 IoWMIDeviceObjectToProviderId(ptr)
 @ stdcall IoWMIExecuteMethod(ptr ptr long long ptr ptr)
 @ stdcall IoWMIHandleToInstanceName(ptr ptr ptr)
 @ stdcall IoWMIOpenBlock(ptr long ptr)
 @ stdcall KdPowerTransition(long)
 @ stdcall KdRefreshDebuggerNotPresent()
 @ stdcall KdSystemDebugControl(long ptr long ptr long ptr long)
-#ifdef _M_IX86
-@ stdcall Ke386CallBios(long ptr)
-;Ke386IoSetAccessProcess
-;Ke386QueryIoAccessMap
-;Ke386SetIoAccessMap
-#endif
+@ stdcall -arch=i386 Ke386CallBios(long ptr)
+@ stdcall -arch=i386 Ke386IoSetAccessProcess(ptr long)
+@ stdcall -arch=i386 Ke386QueryIoAccessMap(long ptr)
+@ stdcall -arch=i386 Ke386SetIoAccessMap(long ptr)
 @ fastcall KeAcquireGuardedMutex(ptr)
 @ fastcall KeAcquireGuardedMutexUnsafe(ptr)
 @ fastcall KeAcquireInStackQueuedSpinLockAtDpcLevel(ptr ptr)
 @ stdcall KeAcquireInterruptSpinLock(ptr)
 @ stdcall KeAcquireSpinLockAtDpcLevel(ptr)
 @ fastcall KeAcquireSpinLockForDpc(ptr)
+@ stdcall -arch=x86_64 KeAcquireSpinLockRaiseToDpc(ptr)
 @ stdcall KeAddSystemServiceTable(ptr ptr long ptr long)
 @ stdcall KeAreAllApcsDisabled()
 @ stdcall KeAreApcsDisabled()
 @ stdcall KeGetCurrentThread()
 @ stdcall KeGetPreviousMode()
 @ stdcall KeGetRecommendedSharedDataAlignment()
-#ifdef _M_IX86
 ;KeI386AbiosCall
-@ stdcall KeI386AllocateGdtSelectors(ptr long)
-;KeI386Call16BitCStyleFunction
-;KeI386Call16BitFunction
-@ stdcall KeI386FlatToGdtSelector(long long long)
-;KeI386GetLid
-@ extern KeI386MachineType
-@ stdcall KeI386ReleaseGdtSelectors(ptr long)
-;KeI386ReleaseLid
-;KeI386SetGdtSelector
-#endif
+@ stdcall -arch=i386 KeI386AllocateGdtSelectors(ptr long)
+; -arch=i386 KeI386Call16BitCStyleFunction
+; -arch=i386 KeI386Call16BitFunction
+@ stdcall -arch=i386 KeI386FlatToGdtSelector(long long long)
+; -arch=i386 KeI386GetLid
+@ extern -arch=i386 KeI386MachineType
+@ stdcall -arch=i386 KeI386ReleaseGdtSelectors(ptr long)
+; -arch=i386 KeI386ReleaseLid
+; -arch=i386 KeI386SetGdtSelector
 @ stdcall KeInitializeApc(ptr ptr long ptr ptr ptr long ptr)
 @ stdcall KeInitializeCrashDumpHeader(long long ptr long ptr)
 @ stdcall KeInitializeDeviceQueue(ptr)
 @ stdcall KeInitializeMutex(ptr long)
 @ stdcall KeInitializeQueue(ptr long)
 @ stdcall KeInitializeSemaphore(ptr long long)
-@ stdcall KeInitializeSpinLock(ptr)
+@ stdcall -arch=i386,arm KeInitializeSpinLock(ptr) _KeInitializeSpinLock
 @ stdcall KeInitializeThreadedDpc(ptr ptr ptr)
 @ stdcall KeInitializeTimer(ptr)
 @ stdcall KeInitializeTimerEx(ptr long)
 @ stdcall KeProfileInterruptWithSource(ptr long)
 @ stdcall KePulseEvent(ptr long long)
 @ stdcall KeQueryActiveProcessors()
-@ stdcall KeQueryInterruptTime()
+@ stdcall -arch=i386,arm KeQueryInterruptTime()
 @ stdcall KeQueryPriorityThread(ptr)
 @ stdcall KeQueryRuntimeThread(ptr ptr)
-@ stdcall KeQuerySystemTime(ptr)
+@ stdcall -arch=i386,arm KeQuerySystemTime(ptr)
 @ stdcall KeQueryTickCount(ptr)
 @ stdcall KeQueryTimeIncrement()
 @ stdcall KeRaiseUserException(long)
 @ stdcall KeReleaseMutant(ptr long long long)
 @ stdcall KeReleaseMutex(ptr long)
 @ stdcall KeReleaseSemaphore(ptr long long long)
+@ stdcall -arch=x86_64 KeReleaseSpinLock(ptr long)
 @ fastcall KeReleaseSpinLockForDpc(ptr long)
 @ stdcall KeReleaseSpinLockFromDpcLevel(ptr)
 @ stdcall KeRemoveByKeyDeviceQueue(ptr long)
 @ fastcall KeTryToAcquireSpinLockAtDpcLevel(ptr)
 @ stdcall KeUnstackDetachProcess(ptr)
 @ stdcall KeUpdateRunTime(ptr long)
-#ifdef _M_IX86
-@ stdcall KeUpdateSystemTime()
-#else
-@ stdcall KeUpdateSystemTime(ptr long long)
-#endif
+@ fastcall KeUpdateSystemTime(ptr long long)
 @ stdcall KeUserModeCallback(long ptr long ptr ptr)
 @ stdcall KeWaitForMultipleObjects(long ptr long long long long ptr ptr)
 @ stdcall KeWaitForMutexObject(ptr long long long ptr) KeWaitForSingleObject
 @ stdcall KeWaitForSingleObject(ptr long long long ptr)
 @ fastcall KefAcquireSpinLockAtDpcLevel(ptr)
 @ fastcall KefReleaseSpinLockFromDpcLevel(ptr)
-#ifdef _M_IX86
-@ stdcall Kei386EoiHelper()
-#endif
+@ stdcall -arch=i386 Kei386EoiHelper()
+@ fastcall -arch=i386 KiEoiHelper(ptr)
 @ fastcall KiAcquireSpinLock(ptr)
 @ extern KiBugCheckData
 @ stdcall KiCheckForKernelApcDelivery()
-#ifdef _M_IX86
-@ stdcall KiCoprocessorError()
-#endif
+;KiCheckForSListAddress
+@ stdcall -arch=i386 KiCoprocessorError()
 @ stdcall KiDeliverApc(long ptr ptr)
-#ifdef _M_IX86
-@ stdcall KiDispatchInterrupt()
-#endif
+@ stdcall -arch=i386 KiDispatchInterrupt()
 @ extern KiEnableTimerWatchdog
 @ stdcall KiIpiServiceRoutine(ptr ptr)
 @ fastcall KiReleaseSpinLock(ptr)
 @ cdecl KiUnexpectedInterrupt()
-#ifdef _M_IX86
-;Kii386SpinOnSpinLock
-#endif
+@ stdcall -arch=i386 Kii386SpinOnSpinLock(ptr long)
 @ stdcall LdrAccessResource(ptr ptr ptr ptr)
 @ stdcall LdrEnumResources(ptr ptr long ptr ptr)
 @ stdcall LdrFindResourceDirectory_U(ptr ptr long ptr)
 @ stdcall MmIsRecursiveIoFault()
 @ stdcall MmIsThisAnNtAsSystem()
 @ stdcall MmIsVerifierEnabled(ptr)
-@ stdcall MmLockPagableDataSection(ptr)
-@ stdcall MmLockPagableImageSection(ptr) MmLockPagableDataSection
-@ stdcall MmLockPagableSectionByHandle(ptr)
+@ stdcall MmLockPagableDataSection(ptr) MmLockPageableDataSection
+@ stdcall MmLockPagableImageSection(ptr) MmLockPageableDataSection
+@ stdcall MmLockPagableSectionByHandle(ptr) MmLockPageableSectionByHandle
 @ stdcall MmMapIoSpace(long long long long)
 @ stdcall MmMapLockedPages(ptr long)
 @ stdcall MmMapLockedPagesSpecifyCache(ptr long long ptr long long)
 @ stdcall MmSetBankedSection(long long long long long long)
 @ stdcall MmSizeOfMdl(ptr long)
 @ extern MmSystemRangeStart
-@ stdcall MmTrimAllSystemPagableMemory(long)
-@ stdcall MmUnlockPagableImageSection(ptr)
+@ stdcall MmTrimAllSystemPagableMemory(long) MmTrimAllSystemPageableMemory
+@ stdcall MmUnlockPagableImageSection(ptr) MmUnlockPageableImageSection
 @ stdcall MmUnlockPages(ptr)
 @ stdcall MmUnmapIoSpace(ptr long)
 @ stdcall MmUnmapLockedPages(ptr ptr)
 ;PfxInsertPrefix
 ;PfxRemovePrefix
 @ stdcall PoCallDriver(ptr ptr)
-;PoCancelDeviceNotify
+@ stdcall PoCancelDeviceNotify(ptr)
 @ stdcall PoQueueShutdownWorkItem(ptr)
 @ stdcall PoRegisterDeviceForIdleDetection(ptr long long long)
-;PoRegisterDeviceNotify
+@ stdcall PoRegisterDeviceNotify(ptr long long long ptr ptr)
 @ stdcall PoRegisterSystemState(ptr long)
 @ stdcall PoRequestPowerIrp(ptr long long ptr ptr ptr)
-;PoRequestShutdownEvent
-;PoSetHiberRange
+@ stdcall PoRequestShutdownEvent(ptr)
+@ stdcall PoSetHiberRange(ptr long ptr long long)
 @ stdcall PoSetPowerState(ptr long long)
 @ stdcall PoSetSystemState(long)
-;PoShutdownBugCheck
+@ stdcall PoShutdownBugCheck(long long ptr ptr ptr ptr)
 @ stdcall PoStartNextPowerIrp(ptr)
 @ stdcall PoUnregisterSystemState(ptr)
 @ stdcall ProbeForRead(ptr long long)
 @ stdcall PsTerminateSystemThread(long)
 @ extern PsThreadType _PsThreadType
 ;PsWrapApcWow64Thread
-@ stdcall READ_REGISTER_BUFFER_UCHAR(ptr ptr long)
-@ stdcall READ_REGISTER_BUFFER_ULONG(ptr ptr long)
-@ stdcall READ_REGISTER_BUFFER_USHORT(ptr ptr long)
-@ stdcall READ_REGISTER_UCHAR(ptr)
-@ stdcall READ_REGISTER_ULONG(ptr)
-@ stdcall READ_REGISTER_USHORT(ptr)
-@ stdcall KeRosDumpStackFrames(ptr long)
+@ stdcall -arch=i386,arm READ_REGISTER_BUFFER_UCHAR(ptr ptr long)
+@ stdcall -arch=i386,arm READ_REGISTER_BUFFER_ULONG(ptr ptr long)
+@ stdcall -arch=i386,arm READ_REGISTER_BUFFER_USHORT(ptr ptr long)
+@ stdcall -arch=i386,arm READ_REGISTER_UCHAR(ptr)
+@ stdcall -arch=i386,arm READ_REGISTER_ULONG(ptr)
+@ stdcall -arch=i386,arm READ_REGISTER_USHORT(ptr)
 @ stdcall RtlAbsoluteToSelfRelativeSD(ptr ptr ptr)
 @ stdcall RtlAddAccessAllowedAce(ptr long long ptr)
 @ stdcall RtlAddAccessAllowedAceEx(ptr long long long ptr)
 ;RtlTraceDatabaseLock
 ;RtlTraceDatabaseUnlock
 ;RtlTraceDatabaseValidate
-@ fastcall RtlUlongByteSwap(long)
-@ fastcall RtlUlonglongByteSwap(long long)
+@ fastcall -arch=i386,arm RtlUlongByteSwap(long)
+@ fastcall -arch=i386,arm RtlUlonglongByteSwap(long long)
 @ stdcall RtlUnicodeStringToAnsiSize(ptr) RtlxUnicodeStringToAnsiSize
 @ stdcall RtlUnicodeStringToAnsiString(ptr ptr long)
 @ stdcall RtlUnicodeStringToCountedOemString(ptr ptr long)
 @ stdcall RtlUpcaseUnicodeToOemN(ptr long ptr wstr long)
 @ stdcall RtlUpperChar(long)
 @ stdcall RtlUpperString(ptr ptr)
-@ fastcall RtlUshortByteSwap(long)
+@ fastcall -arch=i386,arm RtlUshortByteSwap(long)
 @ stdcall RtlValidRelativeSecurityDescriptor(ptr long long)
 @ stdcall RtlValidSecurityDescriptor(ptr)
 @ stdcall RtlValidSid(ptr)
 @ stdcall SeUnregisterLogonSessionTerminatedRoutine(ptr)
 @ stdcall SeValidSecurityDescriptor(long ptr)
 @ stdcall VerSetConditionMask(long long long long)
-;VfFailDeviceNode
+@ cdecl VfFailDeviceNode(ptr long long long ptr ptr ptr)
 ;VfFailDriver
-;VfFailSystemBIOS
-;VfIsVerificationEnabled
-@ stdcall WRITE_REGISTER_BUFFER_UCHAR(ptr ptr long)
-@ stdcall WRITE_REGISTER_BUFFER_ULONG(ptr ptr long)
-@ stdcall WRITE_REGISTER_BUFFER_USHORT(ptr ptr long)
-@ stdcall WRITE_REGISTER_UCHAR(ptr long)
-@ stdcall WRITE_REGISTER_ULONG(ptr long)
-@ stdcall WRITE_REGISTER_USHORT(ptr long)
+@ cdecl VfFailSystemBIOS(long long long ptr ptr ptr)
+@ stdcall VfIsVerificationEnabled(long ptr)
+@ stdcall -arch=i386,arm WRITE_REGISTER_BUFFER_UCHAR(ptr ptr long)
+@ stdcall -arch=i386,arm WRITE_REGISTER_BUFFER_ULONG(ptr ptr long)
+@ stdcall -arch=i386,arm WRITE_REGISTER_BUFFER_USHORT(ptr ptr long)
+@ stdcall -arch=i386,arm WRITE_REGISTER_UCHAR(ptr long)
+@ stdcall -arch=i386,arm WRITE_REGISTER_ULONG(ptr long)
+@ stdcall -arch=i386,arm WRITE_REGISTER_USHORT(ptr long)
 ;WmiFlushTrace
 ;WmiGetClock
 ;WmiQueryTrace
 ;WmiStopTrace
 ;WmiTraceFastEvent
 @ cdecl WmiTraceMessage()
-@ stdcall WmiTraceMessageVa(ptr long ptr long long)
+@ stdcall WmiTraceMessageVa(double long ptr long long)
 ;WmiUpdateTrace
 ;XIPDispatch
 @ stdcall ZwAccessCheckAndAuditAlarm(ptr ptr ptr ptr ptr long ptr long ptr ptr ptr)
 ;_CIcos
 ;_CIsin
 ;_CIsqrt
-@ cdecl _abnormal_termination()
-#ifdef _M_IX86
-@ cdecl _alldiv()
-@ cdecl _alldvrm()
-@ cdecl _allmul()
-@ cdecl _alloca_probe()
-@ cdecl _allrem()
-@ cdecl _allshl()
-@ cdecl _allshr()
-@ cdecl _aulldiv()
-@ cdecl _aulldvrm()
-@ cdecl _aullrem()
-@ cdecl _aullshr()
-#endif
-@ cdecl _except_handler2()
-@ cdecl _except_handler3()
-@ cdecl _global_unwind2()
+@ cdecl -arch=i386,arm _abnormal_termination()
+@ cdecl -arch=i386 _alldiv()
+@ cdecl -arch=i386 _alldvrm()
+@ cdecl -arch=i386 _allmul()
+@ cdecl -arch=i386 _alloca_probe()
+@ cdecl -arch=i386 _allrem()
+@ cdecl -arch=i386 _allshl()
+@ cdecl -arch=i386 _allshr()
+@ cdecl -arch=i386 _aulldiv()
+@ cdecl -arch=i386 _aulldvrm()
+@ cdecl -arch=i386 _aullrem()
+@ cdecl -arch=i386 _aullshr()
+@ cdecl -arch=i386,arm _except_handler2()
+@ cdecl -arch=i386,arm _except_handler3()
+@ cdecl -arch=i386,arm _global_unwind2()
 @ cdecl _itoa()
 @ cdecl _itow()
-@ cdecl _local_unwind2()
+@ cdecl -arch=i386,arm _local_unwind2()
 @ cdecl _purecall()
 @ cdecl _snprintf()
 @ cdecl _snwprintf()