[BASESRV][NTVDM][TESTVDD] Improve the FILE header section. Brought to you by Adam...
[reactos.git] / reactos / 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 typedef VOID (*CHAR_PRINT)(IN CHAR Character);
33 VOID BiosCharPrint(CHAR Character);
34 VOID DosCharPrint(CHAR Character);
35
36 VOID DemDisplayMessage(IN CHAR_PRINT CharPrint,
37 IN LPCSTR Format, ...);
38
39 #define BiosDisplayMessage(Format, ...) \
40 DemDisplayMessage(BiosCharPrint, (Format), ##__VA_ARGS__)
41
42 #define DosDisplayMessage(Format, ...) \
43 DemDisplayMessage(DosCharPrint, (Format), ##__VA_ARGS__)
44
45
46 BOOLEAN DosShutdown(BOOLEAN Immediate);
47
48 DWORD DosStartProcess32(IN LPCSTR ExecutablePath,
49 IN LPCSTR CommandLine,
50 IN LPCSTR Environment OPTIONAL,
51 IN DWORD ReturnAddress OPTIONAL,
52 IN BOOLEAN StartComSpec);
53
54 DWORD
55 WINAPI
56 demClientErrorEx
57 (
58 IN HANDLE FileHandle,
59 IN CHAR Unknown,
60 IN BOOL Flag
61 );
62
63 DWORD
64 WINAPI
65 demFileDelete
66 (
67 IN LPCSTR FileName
68 );
69
70 DWORD
71 WINAPI
72 demFileFindFirst
73 (
74 OUT PVOID lpFindFileData,
75 IN LPCSTR FileName,
76 IN WORD AttribMask
77 );
78
79 DWORD
80 WINAPI
81 demFileFindNext
82 (
83 OUT PVOID lpFindFileData
84 );
85
86 UCHAR
87 WINAPI
88 demGetPhysicalDriveType
89 (
90 IN UCHAR DriveNumber
91 );
92
93 BOOL
94 WINAPI
95 demIsShortPathName
96 (
97 IN LPCSTR Path,
98 IN BOOL Unknown
99 );
100
101 DWORD
102 WINAPI
103 demSetCurrentDirectoryGetDrive
104 (
105 IN LPCSTR CurrentDirectory,
106 OUT PUCHAR DriveNumber
107 );
108
109 #endif // _DEM_H_
110
111 /* EOF */