xref: /reactos/subsystems/mvdm/vdmdbg/vdmdbg.h (revision c2c66aff)
1 #include <stdarg.h>
2 #include <windef.h>
3 #include <winbase.h>
4 
5 #define MAX_PATH16 255
6 #define MAX_MODULE_NAME 9
7 
8 ULONG DbgPrint(PCCH Format,...);
9 
10 typedef struct _CONTEXT VDMCONTEXT;
11 typedef VDMCONTEXT *LPVDMCONTEXT;
12 
13 typedef struct _VDM_SEGINFO {
14   WORD  Selector;
15   WORD  SegNumber;
16   DWORD Length;
17   WORD  Type;
18   CHAR  ModuleName[MAX_MODULE_NAME];
19   CHAR  FileName[MAX_PATH16];
20 } VDM_SEGINFO;
21 
22 typedef struct {
23   DWORD  dwSize;
24   char   szModule[MAX_MODULE_NAME+1];
25   HANDLE hModule;
26   WORD   wcUsage;
27   char   szExePath[MAX_PATH16+1];
28   WORD   wNext;
29 } MODULEENTRY, *LPMODULEENTRY;
30 
31 typedef BOOL ( WINAPI *PROCESSENUMPROC )
32 (
33   DWORD  dwProcessId,
34   DWORD  dwAttributes,
35   LPARAM lpUserDefined
36 );
37 
38 typedef BOOL ( WINAPI *TASKENUMPROCEX )
39 (
40   DWORD dwThreadId,
41   WORD   hMod16,
42   WORD   hTask16,
43   PSZ    pszModName,
44   PSZ    pszFileName,
45   LPARAM lpUserDefined
46 );
47 
48 typedef struct {
49   DWORD   dwSize;
50   DWORD   dwAddress;
51   DWORD   dwBlockSize;
52   HANDLE  hBlock;
53   WORD    wcLock;
54   WORD    wcPageLock;
55   WORD    wFlags;
56   BOOL    wHeapPresent;
57   HANDLE  hOwner;
58   WORD    wType;
59   WORD    wData;
60   DWORD   dwNext;
61   DWORD   dwNextAlt;
62 } GLOBALENTRY, *LPGLOBALENTRY;
63 
64 typedef DWORD ( CALLBACK* DEBUGEVENTPROC )
65               ( LPDEBUG_EVENT, LPVOID );
66 
67 typedef BOOL ( WINAPI *TASKENUMPROC )
68              ( DWORD  dwThreadId,
69                WORD   hMod16,
70                WORD   hTask16,
71                LPARAM lpUserDefined );
72 
73 extern HINSTANCE hDllInstance;
74 
75 /* EOF */
76