Use free Windows DDK and compile with latest MinGW releases.
[reactos.git] / reactos / include / ntos / core.h
1 #ifndef __INCLUDE_NTOS_CORE_H
2 #define __INCLUDE_NTOS_CORE_H
3
4 #include "../../ntoskrnl/include/internal/ke.h"
5
6 #define MM_CORE_DUMP_HEADER_MAGIC (0xdeafbead)
7 #define MM_CORE_DUMP_HEADER_VERSION (0x1)
8 #define MM_CORE_DUMP_TYPE_MINIMAL (0x1)
9 #define MM_CORE_DUMP_TYPE_FULL (0x2)
10
11 typedef struct _MM_CORE_DUMP_HEADER
12 {
13 ULONG Magic;
14 ULONG Version;
15 ULONG Type;
16 KTRAP_FRAME TrapFrame;
17 ULONG BugCheckCode;
18 ULONG BugCheckParameters[4];
19 PVOID FaultingStackBase;
20 ULONG FaultingStackSize;
21 ULONG PhysicalMemorySize;
22 } MM_CORE_DUMP_HEADER, *PMM_CORE_DUMP_HEADER;
23
24 typedef struct _MM_DUMP_POINTERS
25 {
26 PVOID Context;
27 NTSTATUS (*DeviceInit)(PVOID Context);
28 NTSTATUS (*DeviceWrite)(PVOID Context, ULONG Block, PMDL Mdl);
29 NTSTATUS (*DeviceFinish)(PVOID Context);
30 } MM_DUMP_POINTERS, *PMM_DUMP_POINTERS;
31
32 #define FSCTL_GET_DUMP_BLOCK_MAP (('R' << 24) | 0xF1)
33 #define IOCTL_GET_DUMP_POINTERS (('R' << 24) | 0xF2)
34
35 #endif /* __INCLUDE_NTOS_CORE_H */