:pserver:cvsanon@mok.lvcm.com:/CVS/ReactOS reactos
[reactos.git] / include / napi / core.h
1 #ifndef __INCLUDE_NAPI_CORE_H
2 #define __INCLUDE_NAPI_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_NAPI_CORE_H */