/* * COPYRIGHT: GPL - See COPYING in the top level directory * PROJECT: ReactOS Virtual DOS Machine * FILE: ntvdm.h * PURPOSE: Header file to define commonly used stuff * PROGRAMMERS: Aleksandar Andrejevic */ #ifndef _NTVDM_H_ #define _NTVDM_H_ /* INCLUDES *******************************************************************/ #include #include #include #define WIN32_NO_STATUS #include #include /* DEFINES ********************************************************************/ #define TO_LINEAR(seg, off) (((seg) << 4) + (off)) #define MAX_SEGMENT 0xFFFF #define MAX_OFFSET 0xFFFF #define MAX_ADDRESS 0x1000000 // 16 MB of RAM #define FAR_POINTER(x) \ (PVOID)((ULONG_PTR)BaseAddress + TO_LINEAR(HIWORD(x), LOWORD(x))) #define SEG_OFF_TO_PTR(seg, off) \ (PVOID)((ULONG_PTR)BaseAddress + TO_LINEAR((seg), (off))) #define STEPS_PER_CYCLE 256 /* FUNCTIONS ******************************************************************/ extern LPVOID BaseAddress; extern BOOLEAN VdmRunning; VOID DisplayMessage(LPCWSTR Format, ...); #endif // _NTVDM_H_ /* EOF */