1 /* 2 * COPYRIGHT: GPL - See COPYING in the top level directory 3 * PROJECT: ReactOS Virtual DOS Machine 4 * FILE: subsystems/mvdm/ntvdm/dos/dem.h 5 * PURPOSE: DOS 32-bit Emulation Support Library - 6 * This library is used by the built-in NTVDM DOS32 and by 7 * the NT 16-bit DOS in Windows (via BOPs). It also exposes 8 * exported functions that can be used by VDDs. 9 * PROGRAMMERS: Aleksandar Andrejevic <theflash AT sdf DOT lonestar DOT org> 10 * Hermes Belusca-Maito (hermes.belusca@sfr.fr) 11 */ 12 13 #ifndef _DEM_H_ 14 #define _DEM_H_ 15 16 /* INCLUDES *******************************************************************/ 17 18 #include "dos32krnl/dos.h" 19 20 /* DEFINES ********************************************************************/ 21 22 /* BOP Identifiers */ 23 #define BOP_LOAD_DOS 0x2B // DOS Loading and Initializing BOP. In parameter (following bytes) we take a NULL-terminated string indicating the name of the DOS kernel file. 24 #define BOP_START_DOS 0x2C // DOS Starting BOP. In parameter (following bytes) we take a NULL-terminated string indicating the name of the DOS kernel file. 25 #define BOP_DOS 0x50 // DOS System BOP (for NTIO.SYS and NTDOS.SYS) 26 #define BOP_CMD 0x54 // DOS Command Interpreter BOP (for COMMAND.COM) 27 28 /* VARIABLES ******************************************************************/ 29 30 /* FUNCTIONS ******************************************************************/ 31 32 VOID BiosCharPrint(CHAR Character); 33 #define BiosDisplayMessage(Format, ...) \ 34 PrintMessageAnsi(BiosCharPrint, (Format), ##__VA_ARGS__) 35 36 VOID DosCharPrint(CHAR Character); 37 #define DosDisplayMessage(Format, ...) \ 38 PrintMessageAnsi(DosCharPrint, (Format), ##__VA_ARGS__) 39 40 41 BOOLEAN DosShutdown(BOOLEAN Immediate); 42 43 DWORD DosStartProcess32(IN LPCSTR ExecutablePath, 44 IN LPCSTR CommandLine, 45 IN LPCSTR Environment OPTIONAL, 46 IN DWORD ReturnAddress OPTIONAL, 47 IN BOOLEAN StartComSpec); 48 49 DWORD 50 WINAPI 51 demClientErrorEx 52 ( 53 IN HANDLE FileHandle, 54 IN CHAR Unknown, 55 IN BOOL Flag 56 ); 57 58 DWORD 59 WINAPI 60 demFileDelete 61 ( 62 IN LPCSTR FileName 63 ); 64 65 DWORD 66 WINAPI 67 demFileFindFirst 68 ( 69 OUT PVOID lpFindFileData, 70 IN LPCSTR FileName, 71 IN WORD AttribMask 72 ); 73 74 DWORD 75 WINAPI 76 demFileFindNext 77 ( 78 OUT PVOID lpFindFileData 79 ); 80 81 UCHAR 82 WINAPI 83 demGetPhysicalDriveType 84 ( 85 IN UCHAR DriveNumber 86 ); 87 88 BOOL 89 WINAPI 90 demIsShortPathName 91 ( 92 IN LPCSTR Path, 93 IN BOOL Unknown 94 ); 95 96 DWORD 97 WINAPI 98 demSetCurrentDirectoryGetDrive 99 ( 100 IN LPCSTR CurrentDirectory, 101 OUT PUCHAR DriveNumber 102 ); 103 104 #endif // _DEM_H_ 105 106 /* EOF */ 107