ifndef _VWIN32_H_
_VWIN32_H_	EQU	1
THREAD_TYPE_WIN32	EQU	<VWIN32_DEVICE_ID>
ifndef Not_VxD
Begin_Service_Table VWIN32
VWIN32_Service   VWIN32_Get_Version, LOCAL
VWIN32_Service   VWIN32_DIOCCompletionRoutine, LOCAL
VWIN32_Service   _VWIN32_QueueUserApc
VWIN32_Service   _VWIN32_Get_Thread_Context
VWIN32_Service   _VWIN32_Set_Thread_Context
VWIN32_Service   _VWIN32_CopyMem, LOCAL
VWIN32_Service   _VWIN32_Npx_Exception
VWIN32_Service   _VWIN32_Emulate_Npx
VWIN32_Service   _VWIN32_CheckDelayedNpxTrap
VWIN32_Service   VWIN32_EnterCrstR0
VWIN32_Service   VWIN32_LeaveCrstR0
VWIN32_Service   _VWIN32_FaultPopup
VWIN32_Service   VWIN32_GetContextHandle
VWIN32_Service   VWIN32_GetCurrentProcessHandle, LOCAL
VWIN32_Service   _VWIN32_SetWin32Event
VWIN32_Service   _VWIN32_PulseWin32Event
VWIN32_Service   _VWIN32_ResetWin32Event
VWIN32_Service   _VWIN32_WaitSingleObject
VWIN32_Service   _VWIN32_WaitMultipleObjects
VWIN32_Service   _VWIN32_CreateRing0Thread
VWIN32_Service   _VWIN32_CloseVxDHandle
VWIN32_Service   VWIN32_ActiveTimeBiasSet, LOCAL
VWIN32_Service   VWIN32_GetCurrentDirectory, LOCAL
VWIN32_Service   VWIN32_BlueScreenPopup
VWIN32_Service   VWIN32_TerminateApp
VWIN32_Service   _VWIN32_QueueKernelAPC
VWIN32_Service   VWIN32_SysErrorBox
VWIN32_Service   _VWIN32_IsClientWin32
VWIN32_Service   VWIN32_IFSRIPWhenLev2Taken, LOCAL
VWIN32_Service   _VWIN32_InitWin32Event
VWIN32_Service   _VWIN32_InitWin32Mutex
VWIN32_Service   _VWIN32_ReleaseWin32Mutex
VWIN32_Service   _VWIN32_BlockThreadEx
VWIN32_Service   VWIN32_GetProcessHandle, LOCAL
VWIN32_Service   _VWIN32_InitWin32Semaphore
VWIN32_Service   _VWIN32_SignalWin32Sem
VWIN32_Service   _VWIN32_QueueUserApcEx
VWIN32_Service	 _VWIN32_OpenVxDHandle
VWIN32_Service	 _VWIN32_CloseWin32Handle
VWIN32_Service	 _VWIN32_AllocExternalHandle
VWIN32_Service	 _VWIN32_UseExternalHandle
VWIN32_Service	 _VWIN32_UnuseExternalHandle
VWIN32_StdCall_Service	 KeInitializeTimer, 1
VWIN32_StdCall_Service	 KeSetTimer, 4
VWIN32_StdCall_Service	 KeCancelTimer, 1
VWIN32_StdCall_Service	 KeReadStateTimer, 1
VWIN32_Service	 _VWIN32_ReferenceObject
VWIN32_Service	 _VWIN32_GetExternalHandle
VWIN32_StdCall_Service	 VWIN32_ConvertNtTimeout, 1
VWIN32_Service	 _VWIN32_SetWin32EventBoostPriority
VWIN32_Service	 _VWIN32_GetRing3Flat32Selectors
VWIN32_Service	 _VWIN32_GetCurThreadCondition
VWIN32_Service   VWIN32_Init_FP
VWIN32_StdCall_Service   R0SetWaitableTimer, 5
End_Service_Table VWIN32
endif
THREAD_CONDITION_DOS_BOX	EQU	00000000H
THREAD_CONDITION_V86_NEST	EQU	00000001H
THREAD_CONDITION_WDM	EQU	00000002H
THREAD_CONDITION_INDETERMINATE	EQU	00000003H
THREAD_CONDITION_LOCKED_STACK	EQU	00000004H
THREAD_CONDITION_PURE_WIN16	EQU	00000005H
THREAD_CONDITION_THUNKED_WIN16	EQU	00000006H
THREAD_CONDITION_THUNKED_WIN32	EQU	00000007H
THREAD_CONDITION_PURE_WIN32	EQU	00000008H
THREAD_CONDITION_APPY_TIME	EQU	00000009H
THREAD_CONDITION_RING0_APPY_TIME	EQU	0000000AH
THREAD_CONDITION_EXIT	EQU	0000000BH
THREAD_CONDITION_INVALID_FLAGS	EQU	0FFFFFFFFH
THREAD_CONDITION_NORMAL_FLAGS	EQU	00000000H

vseb_s	STRUC
vseb_resp	DD	?
vseb_b3	DW	?
vseb_b2	DW	?
vseb_b1	DW	?
vseb_pszCaption	DD	?
vseb_pszText	DD	?
vseb_s	ENDS
SEB_ANSI	EQU	4000H
SEB_TERMINATE	EQU	2000H
KERNEL_APC_IGNORE_MC	EQU	00000001H
KERNEL_APC_STATIC	EQU	00000002H
KERNEL_APC_WAKE	EQU	00000004H

DIOCParams	STRUC
Internal1	DD	?
VMHandle	DD	?
Internal2	DD	?
dwIoControlCode	DD	?
lpvInBuffer	DD	?
cbInBuffer	DD	?
lpvOutBuffer	DD	?
cbOutBuffer	DD	?
lpcbBytesReturned	DD	?
lpoOverlapped	DD	?
hDevice	DD	?
tagProcess	DD	?
DIOCParams	ENDS
VWIN32_DIOC_GETVERSION	EQU	<DIOC_GETVERSION>
VWIN32_DIOC_DOS_IOCTL	EQU	1
VWIN32_DIOC_DOS_INT25	EQU	2
VWIN32_DIOC_DOS_INT26	EQU	3
VWIN32_DIOC_DOS_INT13	EQU	4
VWIN32_DIOC_SIMCTRLC	EQU	5
VWIN32_DIOC_DOS_DRIVEINFO	EQU	6
VWIN32_DIOC_CLOSEHANDLE	EQU	<DIOC_CLOSEHANDLE>

DIOCRegs	STRUC
reg_EBX	DD	?
reg_EDX	DD	?
reg_ECX	DD	?
reg_EAX	DD	?
reg_EDI	DD	?
reg_ESI	DD	?
reg_Flags	DD	?
DIOCRegs	ENDS
ifndef FILE_FLAG_OVERLAPPED

_OVERLAPPED	STRUC
O_Internal	DD	?
O_InternalHigh	DD	?
O_Offset	DD	?
O_OffsetHigh	DD	?
O_hEvent	DD	?
_OVERLAPPED	ENDS
endif
OPENVXD_TYPE_SEMAPHORE	EQU	0
OPENVXD_TYPE_EVENT	EQU	1
OPENVXD_TYPE_MUTEX	EQU	2
OPENVXD_TYPE_ANY	EQU	3
R0OBJFREE   TYPEDEF     DWORD
R0OBJDUP    TYPEDEF     DWORD


_R0OBJTYPETABLE	STRUC
ott_dwSize	DD	?
ott_pfnFree	DB	SIZE R0OBJFREE DUP (?)
ott_pfnDup	DB	SIZE R0OBJDUP DUP (?)
_R0OBJTYPETABLE	ENDS
R0OBJTYPETABLE  typedef _R0OBJTYPETABLE

R0EHF_INHERIT	EQU	00000001H
R0EHF_GLOBAL	EQU	00000002H
endif
