befbe80dc61c12d4a5e12d19a6622db084340cca
[reactos.git] / subsystems / mvdm / ntvdm / dos / dem.h
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 */