; --------------------------------------------------------------------------------------------------
;                            ntvdm.inc Copyright The MASM32 SDK 1998-2010
; --------------------------------------------------------------------------------------------------

IFNDEF NTVDM_INC
NTVDM_INC equ <1>

BlockWOWIdle PROTO STDCALL :DWORD
CurrentMonitorTeb PROTO C :VARARG
DBGNotifyDebugged PROTO STDCALL :DWORD
DBGNotifyNewTask PROTO STDCALL :DWORD,:DWORD
DBGNotifyRemoteThreadAddress PROTO STDCALL :DWORD,:DWORD
DispatchInterrupts PROTO STDCALL
Dos_Flag_Addr PROTO C :VARARG
DpmiSetIncrementalAlloc PROTO STDCALL :DWORD
ExpLdt PROTO C :VARARG
FlatAddress PROTO C :VARARG
GetDOSAppName PROTO STDCALL :DWORD
GetWOWShortCutInfo PROTO STDCALL :DWORD,:DWORD
IsCdRomFile PROTO STDCALL :DWORD
MGetVdmPointer PROTO STDCALL :DWORD,:DWORD,:DWORD
RegisterWOWIdle PROTO STDCALL
ResumeTimerThread PROTO STDCALL
SelectorLimit PROTO C :VARARG
SetShadowDescriptorEntries PROTO STDCALL :DWORD,:DWORD
Sim32pGetVDMPointer PROTO STDCALL :DWORD,:DWORD
SoftPcEoi PROTO STDCALL :DWORD,:DWORD
SuspendTimerThread PROTO STDCALL
VDDAllocMem PROTO STDCALL :DWORD,:DWORD,:DWORD
VDDAllocateDosHandle PROTO STDCALL :DWORD,:DWORD,:DWORD
VDDAssociateNtHandle PROTO STDCALL :DWORD,:DWORD,:DWORD
VDDDeInstallIOHook PROTO STDCALL :DWORD,:DWORD,:DWORD
VDDDeInstallMemoryHook PROTO STDCALL :DWORD,:DWORD,:DWORD
VDDDeInstallUserHook PROTO STDCALL :DWORD
VDDExcludeMem PROTO STDCALL :DWORD,:DWORD,:DWORD
VDDFreeMem PROTO STDCALL :DWORD,:DWORD,:DWORD
VDDIncludeMem PROTO STDCALL :DWORD,:DWORD,:DWORD
VDDInstallIOHook PROTO STDCALL :DWORD,:DWORD,:DWORD,:DWORD
VDDInstallMemoryHook PROTO STDCALL :DWORD,:DWORD,:DWORD,:DWORD
VDDInstallUserHook PROTO STDCALL :DWORD,:DWORD,:DWORD,:DWORD,:DWORD

VDDQueryDMA PROTO STDCALL :DWORD,:DWORD,:DWORD
IFNDEF __UNICODE__
  VDDQueryDM equ <VDDQueryDMA>
ENDIF

VDDReleaseDosHandle PROTO STDCALL :DWORD,:DWORD
VDDReleaseIrqLine PROTO STDCALL :DWORD,:DWORD

VDDRequestDMA PROTO STDCALL :DWORD,:DWORD,:DWORD,:DWORD
IFNDEF __UNICODE__
  VDDRequestDM equ <VDDRequestDMA>
ENDIF

VDDReserveIrqLine PROTO STDCALL :DWORD,:DWORD
VDDRetrieveNtHandle PROTO STDCALL :DWORD,:DWORD,:DWORD,:DWORD

VDDSetDMA PROTO STDCALL :DWORD,:DWORD,:DWORD,:DWORD
IFNDEF __UNICODE__
  VDDSetDM equ <VDDSetDMA>
ENDIF

VDDSimulate16 PROTO STDCALL
VDDTerminateVDM PROTO STDCALL
VdmDbgAttach PROTO STDCALL
VdmGetParametersInfoError PROTO STDCALL
VdmMapFlat PROTO STDCALL :DWORD,:DWORD,:DWORD
VdmParametersInfo PROTO STDCALL :DWORD,:DWORD,:DWORD
VdmTraceEvent PROTO STDCALL :DWORD,:DWORD,:DWORD
WOWSysErrorBox PROTO STDCALL :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
WaitIfIdle PROTO STDCALL
call_ica_hw_interrupt PROTO STDCALL :DWORD,:DWORD,:DWORD
cmdCheckTemp PROTO STDCALL :DWORD
cmdCheckTempInit PROTO STDCALL
cpu_createthread PROTO STDCALL :DWORD,:DWORD
demClientErrorEx PROTO STDCALL :DWORD,:DWORD,:DWORD
demFileDelete PROTO STDCALL :DWORD
demFileFindFirst PROTO STDCALL :DWORD,:DWORD,:DWORD
demFileFindNext PROTO STDCALL :DWORD
demGetCurrentDirectoryLCDS PROTO STDCALL :DWORD,:DWORD

demGetFileTimeByHandle_WOW PROTO STDCALL :DWORD
IFDEF __UNICODE__
  demGetFileTimeByHandle_WO equ <demGetFileTimeByHandle_WOW>
ENDIF

demGetPhysicalDriveType PROTO STDCALL :DWORD
demIsShortPathName PROTO STDCALL :DWORD,:DWORD
demLFNCleanup PROTO STDCALL
demLFNGetCurrentDirectory PROTO STDCALL :DWORD,:DWORD
demSetCurrentDirectoryGetDrive PROTO STDCALL :DWORD,:DWORD
demSetCurrentDirectoryLCDS PROTO STDCALL :DWORD,:DWORD
demWOWLFNAllocateSearchHandle PROTO STDCALL :DWORD
demWOWLFNCloseSearchHandle PROTO STDCALL :DWORD
demWOWLFNEntry PROTO STDCALL :DWORD
demWOWLFNGetSearchHandle PROTO STDCALL :DWORD
demWOWLFNInit PROTO STDCALL :DWORD
fSeparateWow PROTO C :VARARG
getAF PROTO STDCALL
getAH PROTO STDCALL
getAL PROTO STDCALL
getAX PROTO STDCALL
getBH PROTO STDCALL
getBL PROTO STDCALL
getBP PROTO STDCALL
getBX PROTO STDCALL
getCF PROTO STDCALL
getCH PROTO STDCALL
getCL PROTO STDCALL
getCS PROTO STDCALL
getCX PROTO STDCALL
getDF PROTO STDCALL
getDH PROTO STDCALL
getDI PROTO STDCALL
getDL PROTO STDCALL
getDS PROTO STDCALL
getDX PROTO STDCALL
getEAX PROTO STDCALL
getEBP PROTO STDCALL
getEBX PROTO STDCALL
getECX PROTO STDCALL
getEDI PROTO STDCALL
getEDX PROTO STDCALL
getEFLAGS PROTO STDCALL
getEIP PROTO STDCALL
getES PROTO STDCALL
getESI PROTO STDCALL
getESP PROTO STDCALL
getFS PROTO STDCALL
getGS PROTO STDCALL
getIF PROTO STDCALL
getIP PROTO STDCALL
getIntelRegistersPointer PROTO STDCALL

getMSW PROTO STDCALL
IFDEF __UNICODE__
  getMS equ <getMSW>
ENDIF

getOF PROTO STDCALL
getPF PROTO STDCALL
getSF PROTO STDCALL
getSI PROTO STDCALL
getSP PROTO STDCALL
getSS PROTO STDCALL
getZF PROTO STDCALL
host_CreateThread PROTO STDCALL :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
host_ExitThread PROTO STDCALL :DWORD
host_com_close PROTO STDCALL :DWORD
host_direct_access_error PROTO STDCALL :DWORD
host_simulate PROTO STDCALL
pDeviceChain PROTO C :VARARG
setAF PROTO STDCALL :DWORD
setAH PROTO STDCALL :DWORD
setAL PROTO STDCALL :DWORD
setAX PROTO STDCALL :DWORD
setBH PROTO STDCALL :DWORD
setBL PROTO STDCALL :DWORD
setBP PROTO STDCALL :DWORD
setBX PROTO STDCALL :DWORD
setCF PROTO STDCALL :DWORD
setCH PROTO STDCALL :DWORD
setCL PROTO STDCALL :DWORD
setCS PROTO STDCALL :DWORD
setCX PROTO STDCALL :DWORD
setDF PROTO STDCALL :DWORD
setDH PROTO STDCALL :DWORD
setDI PROTO STDCALL :DWORD
setDL PROTO STDCALL :DWORD
setDS PROTO STDCALL :DWORD
setDX PROTO STDCALL :DWORD
setEAX PROTO STDCALL :DWORD
setEBP PROTO STDCALL :DWORD
setEBX PROTO STDCALL :DWORD
setECX PROTO STDCALL :DWORD
setEDI PROTO STDCALL :DWORD
setEDX PROTO STDCALL :DWORD
setEFLAGS PROTO STDCALL :DWORD
setEIP PROTO STDCALL :DWORD
setES PROTO STDCALL :DWORD
setESI PROTO STDCALL :DWORD
setESP PROTO STDCALL :DWORD
setFS PROTO STDCALL :DWORD
setGS PROTO STDCALL :DWORD
setIF PROTO STDCALL :DWORD
setIP PROTO STDCALL :DWORD

setMSW PROTO STDCALL :DWORD
IFDEF __UNICODE__
  setMS equ <setMSW>
ENDIF

setOF PROTO STDCALL :DWORD
setPF PROTO STDCALL :DWORD
setSF PROTO STDCALL :DWORD
setSI PROTO STDCALL :DWORD
setSP PROTO STDCALL :DWORD
setSS PROTO STDCALL :DWORD
setZF PROTO STDCALL :DWORD

ELSE
  echo ----------------------------------------
  echo WARNING duplicate include file ntvdm.inc
  echo ----------------------------------------
ENDIF
