ReactOS  0.4.14-dev-323-g6fe6a88
vdm.h
Go to the documentation of this file.
1 /*
2  * COPYRIGHT: See COPYING in the top level directory
3  * PROJECT: ReactOS Base API Server DLL
4  * FILE: include/reactos/subsys/win/vdm.h
5  * PURPOSE: Public definitions for the Virtual Dos Machine
6  * PROGRAMMERS: Aleksandar Andrejevic <theflash AT sdf DOT lonestar DOT org>
7  * Alex Ionescu (alex.ionescu@reactos.org)
8  */
9 
10 #ifndef _VDM_H
11 #define _VDM_H
12 
13 #pragma once
14 
15 /* CONSTANTS & TYPES **********************************************************/
16 
17 typedef enum _VDM_ENTRY_CODE
18 {
23 
24 //
25 // Undo States
26 //
27 #define VDM_UNDO_PARTIAL 0x01
28 #define VDM_UNDO_FULL 0x02
29 #define VDM_UNDO_REUSE 0x04
30 #define VDM_UNDO_COMPLETED 0x08
31 
32 //
33 // Binary Types to share with VDM
34 //
35 #define BINARY_TYPE_EXE 0x01
36 #define BINARY_TYPE_COM 0x02
37 #define BINARY_TYPE_PIF 0x03
38 #define BINARY_TYPE_DOS 0x10
39 #define BINARY_TYPE_SEPARATE_WOW 0x20
40 #define BINARY_TYPE_WOW 0x40
41 #define BINARY_TYPE_WOW_EX 0x80
42 
43 //
44 // VDM States
45 //
46 #define VDM_NOT_LOADED 0x01
47 #define VDM_NOT_READY 0x02
48 #define VDM_READY 0x04
49 
50 //
51 // VDM Flags
52 //
53 #define VDM_FLAG_FIRST_TASK 0x01
54 #define VDM_FLAG_WOW 0x02
55 #define VDM_FLAG_DOS 0x04
56 #define VDM_FLAG_RETRY 0x08
57 #define VDM_INC_REENTER_COUNT 0x10
58 #define VDM_DEC_REENTER_COUNT 0x20
59 #define VDM_FLAG_NESTED_TASK 0x40
60 #define VDM_FLAG_DONT_WAIT 0x80
61 #define VDM_GET_FIRST_COMMAND 0x100
62 #define VDM_GET_ENVIRONMENT 0x400
63 #define VDM_FLAG_SEPARATE_WOW 0x800
64 #define VDM_LIST_WOW_PROCESSES 0x1000
65 #define VDM_LIST_WOW_TASKS 0x4000
66 #define VDM_ADD_WOW_TASK 0x8000
67 
68 typedef struct
69 {
98 
99 
100 /* FUNCTION PROTOTYPES ********************************************************/
101 
102 BOOL
103 WINAPI
105  IN OUT PVDM_COMMAND_INFO CommandData OPTIONAL
106 );
107 
108 VOID
109 WINAPI
110 ExitVDM(
111  IN BOOL IsWow,
112  IN ULONG iWowTask
113 );
114 
115 #endif // _VDM_H
116 
117 /* EOF */
_VDM_ENTRY_CODE
Definition: vdm.h:17
LPSTR Desktop
Definition: vdm.h:84
#define IN
Definition: typedefs.h:38
ULONG DesktopLen
Definition: vdm.h:85
ULONG ExitCode
Definition: vdm.h:72
USHORT CurrentDrive
Definition: vdm.h:95
LPSTR CmdLine
Definition: vdm.h:77
HANDLE StdErr
Definition: vdm.h:76
VOID WINAPI ExitVDM(IN BOOL IsWow, IN ULONG iWowTask)
USHORT PifLen
Definition: vdm.h:92
BOOL WINAPI GetNextVDMCommand(IN OUT PVDM_COMMAND_INFO CommandData OPTIONAL)
USHORT CmdLen
Definition: vdm.h:90
char * LPSTR
Definition: xmlstorage.h:182
BOOLEAN ComingFromBat
Definition: vdm.h:96
USHORT CurDirectoryLen
Definition: vdm.h:93
unsigned int BOOL
Definition: ntddk_ex.h:94
LPVOID Reserved
Definition: vdm.h:88
enum _VDM_ENTRY_CODE VDM_ENTRY_CODE
HANDLE StdIn
Definition: vdm.h:74
unsigned char BOOLEAN
struct VDM_COMMAND_INFO * PVDM_COMMAND_INFO
USHORT VDMState
Definition: vdm.h:94
ULONG CreationFlags
Definition: vdm.h:71
LPSTR CurDirectory
Definition: vdm.h:80
LPSTR PifFile
Definition: vdm.h:79
#define WINAPI
Definition: msvc.h:8
USHORT AppLen
Definition: vdm.h:91
LPSTR Env
Definition: vdm.h:81
ULONG EnvLen
Definition: vdm.h:82
unsigned short USHORT
Definition: pedump.c:61
LPSTR AppName
Definition: vdm.h:78
LPSTR Title
Definition: vdm.h:86
#define OUT
Definition: typedefs.h:39
unsigned int ULONG
Definition: retypes.h:1
STARTUPINFOA StartupInfo
Definition: vdm.h:83
HANDLE StdOut
Definition: vdm.h:75
ULONG ReservedLen
Definition: vdm.h:89
ULONG TitleLen
Definition: vdm.h:87
ULONG CodePage
Definition: vdm.h:73
ULONG TaskId
Definition: vdm.h:70
PULONG MinorVersion OPTIONAL
Definition: CrossNt.h:68