1 //===- MinidumpConstants.def
- Iteration over minidump constants
-*- C
++ -*-===//
3 // Part of the LLVM Project
, under the Apache License v2.0 with LLVM Exceptions.
4 // See https
://llvm.org
/LICENSE.txt for license information.
5 // SPDX
-License
-Identifier
: Apache
-2.0 WITH LLVM
-exception
7 //===----------------------------------------------------------------------===//
9 #if
!(defined(HANDLE_MDMP_STREAM_TYPE
) ||
defined(HANDLE_MDMP_ARCH
) || \
10 defined(HANDLE_MDMP_PLATFORM
) ||
defined(HANDLE_MDMP_PROTECT
) || \
11 defined(HANDLE_MDMP_MEMSTATE
) ||
defined(HANDLE_MDMP_MEMTYPE
))
12 #error
"Missing HANDLE_MDMP definition"
15 #ifndef HANDLE_MDMP_STREAM_TYPE
16 #define
HANDLE_MDMP_STREAM_TYPE(CODE
, NAME
)
19 #ifndef HANDLE_MDMP_ARCH
20 #define
HANDLE_MDMP_ARCH(CODE
, NAME
)
23 #ifndef HANDLE_MDMP_PLATFORM
24 #define
HANDLE_MDMP_PLATFORM(CODE
, NAME
)
27 #ifndef HANDLE_MDMP_PROTECT
28 #define
HANDLE_MDMP_PROTECT(CODE
, NAME
, NATIVENAME
)
31 #ifndef HANDLE_MDMP_MEMSTATE
32 #define
HANDLE_MDMP_MEMSTATE(CODE
, NAME
, NATIVENAME
)
35 #ifndef HANDLE_MDMP_MEMTYPE
36 #define
HANDLE_MDMP_MEMTYPE(CODE
, NAME
, NATIVENAME
)
39 HANDLE_MDMP_STREAM_TYPE(0x0003, ThreadList
)
40 HANDLE_MDMP_STREAM_TYPE(0x0004, ModuleList
)
41 HANDLE_MDMP_STREAM_TYPE(0x0005, MemoryList
)
42 HANDLE_MDMP_STREAM_TYPE(0x0006, Exception
)
43 HANDLE_MDMP_STREAM_TYPE(0x0007, SystemInfo
)
44 HANDLE_MDMP_STREAM_TYPE(0x0008, ThreadExList
)
45 HANDLE_MDMP_STREAM_TYPE(0x0009, Memory64List
)
46 HANDLE_MDMP_STREAM_TYPE(0x000a, CommentA
)
47 HANDLE_MDMP_STREAM_TYPE(0x000b, CommentW
)
48 HANDLE_MDMP_STREAM_TYPE(0x000c, HandleData
)
49 HANDLE_MDMP_STREAM_TYPE(0x000d, FunctionTable
)
50 HANDLE_MDMP_STREAM_TYPE(0x000e, UnloadedModuleList
)
51 HANDLE_MDMP_STREAM_TYPE(0x000f, MiscInfo
)
52 HANDLE_MDMP_STREAM_TYPE(0x0010, MemoryInfoList
)
53 HANDLE_MDMP_STREAM_TYPE(0x0011, ThreadInfoList
)
54 HANDLE_MDMP_STREAM_TYPE(0x0012, HandleOperationList
)
55 HANDLE_MDMP_STREAM_TYPE(0x0013, Token
)
56 HANDLE_MDMP_STREAM_TYPE(0x0014, JavascriptData
)
57 HANDLE_MDMP_STREAM_TYPE(0x0015, SystemMemoryInfo
)
58 HANDLE_MDMP_STREAM_TYPE(0x0016, ProcessVMCounters
)
59 // Breakpad extension types.
0x4767 = "Gg"
60 HANDLE_MDMP_STREAM_TYPE(0x47670001, BreakpadInfo
)
61 HANDLE_MDMP_STREAM_TYPE(0x47670002, AssertionInfo
)
62 // These are additional minidump stream values which are specific to the linux
63 // breakpad implementation.
64 HANDLE_MDMP_STREAM_TYPE(0x47670003, LinuxCPUInfo
) // /proc
/cpuinfo
65 HANDLE_MDMP_STREAM_TYPE(0x47670004, LinuxProcStatus
) // /proc
/$x
/status
66 HANDLE_MDMP_STREAM_TYPE(0x47670005, LinuxLSBRelease
) // /etc
/lsb
-release
67 HANDLE_MDMP_STREAM_TYPE(0x47670006, LinuxCMDLine
) // /proc
/$x
/cmdline
68 HANDLE_MDMP_STREAM_TYPE(0x47670007, LinuxEnviron
) // /proc
/$x
/environ
69 HANDLE_MDMP_STREAM_TYPE(0x47670008, LinuxAuxv
) // /proc
/$x
/auxv
70 HANDLE_MDMP_STREAM_TYPE(0x47670009, LinuxMaps
) // /proc
/$x
/maps
71 HANDLE_MDMP_STREAM_TYPE(0x4767000A, LinuxDSODebug
)
72 HANDLE_MDMP_STREAM_TYPE(0x4767000B, LinuxProcStat
) // /proc
/$x
/stat
73 HANDLE_MDMP_STREAM_TYPE(0x4767000C, LinuxProcUptime
) // uptime
74 HANDLE_MDMP_STREAM_TYPE(0x4767000D, LinuxProcFD
) // /proc
/$x
/fd
75 // Facebook
-defined stream types
76 HANDLE_MDMP_STREAM_TYPE(0xFACE1CA7, FacebookLogcat
)
77 HANDLE_MDMP_STREAM_TYPE(0xFACECAFA, FacebookAppCustomData
)
78 HANDLE_MDMP_STREAM_TYPE(0xFACECAFB, FacebookBuildID
)
79 HANDLE_MDMP_STREAM_TYPE(0xFACECAFC, FacebookAppVersionName
)
80 HANDLE_MDMP_STREAM_TYPE(0xFACECAFD, FacebookJavaStack
)
81 HANDLE_MDMP_STREAM_TYPE(0xFACECAFE, FacebookDalvikInfo
)
82 HANDLE_MDMP_STREAM_TYPE(0xFACECAFF, FacebookUnwindSymbols
)
83 HANDLE_MDMP_STREAM_TYPE(0xFACECB00, FacebookDumpErrorLog
)
84 HANDLE_MDMP_STREAM_TYPE(0xFACECCCC, FacebookAppStateLog
)
85 HANDLE_MDMP_STREAM_TYPE(0xFACEDEAD, FacebookAbortReason
)
86 HANDLE_MDMP_STREAM_TYPE(0xFACEE000, FacebookThreadName
)
88 HANDLE_MDMP_ARCH(0x0000, X86
) // PROCESSOR_ARCHITECTURE_INTEL
89 HANDLE_MDMP_ARCH(0x0001, MIPS
) // PROCESSOR_ARCHITECTURE_MIPS
90 HANDLE_MDMP_ARCH(0x0002, Alpha
) // PROCESSOR_ARCHITECTURE_ALPHA
91 HANDLE_MDMP_ARCH(0x0003, PPC
) // PROCESSOR_ARCHITECTURE_PPC
92 HANDLE_MDMP_ARCH(0x0004, SHX
) // PROCESSOR_ARCHITECTURE_SHX (Super
-H
)
93 HANDLE_MDMP_ARCH(0x0005, ARM
) // PROCESSOR_ARCHITECTURE_ARM
94 HANDLE_MDMP_ARCH(0x0006, IA64
) // PROCESSOR_ARCHITECTURE_IA64
95 HANDLE_MDMP_ARCH(0x0007, Alpha64
) // PROCESSOR_ARCHITECTURE_ALPHA64
96 HANDLE_MDMP_ARCH(0x0008, MSIL
) // PROCESSOR_ARCHITECTURE_MSIL
97 HANDLE_MDMP_ARCH(0x0009, AMD64
) // PROCESSOR_ARCHITECTURE_AMD64
98 HANDLE_MDMP_ARCH(0x000a, X86Win64
) // PROCESSOR_ARCHITECTURE_IA32_ON_WIN64
99 HANDLE_MDMP_ARCH(0x8001, SPARC
) // Breakpad
-defined value for SPARC
100 HANDLE_MDMP_ARCH(0x8002, PPC64
) // Breakpad
-defined value for PPC64
101 HANDLE_MDMP_ARCH(0x8003, ARM64
) // Breakpad
-defined value for ARM64
102 HANDLE_MDMP_ARCH(0x8004, MIPS64
) // Breakpad
-defined value for MIPS64
104 HANDLE_MDMP_PLATFORM(0x0000, Win32S
) // Win32 on Windows
3.1
105 HANDLE_MDMP_PLATFORM(0x0001, Win32Windows
) // Windows
95-98-Me
106 HANDLE_MDMP_PLATFORM(0x0002, Win32NT
) // Windows NT
, 2000+
107 HANDLE_MDMP_PLATFORM(0x0003, Win32CE
) // Windows CE
, Windows Mobile
, "Handheld"
108 // Breakpad
-defined values.
109 HANDLE_MDMP_PLATFORM(0x8000, Unix
) // Generic Unix
-ish
110 HANDLE_MDMP_PLATFORM(0x8101, MacOSX
) // Mac OS X
/Darwin
111 HANDLE_MDMP_PLATFORM(0x8102, IOS
) // iOS
112 HANDLE_MDMP_PLATFORM(0x8201, Linux
) // Linux
113 HANDLE_MDMP_PLATFORM(0x8202, Solaris
) // Solaris
114 HANDLE_MDMP_PLATFORM(0x8203, Android
) // Android
115 HANDLE_MDMP_PLATFORM(0x8204, PS3
) // PS3
116 HANDLE_MDMP_PLATFORM(0x8205, NaCl
) // Native
Client (NaCl
)
118 HANDLE_MDMP_PROTECT(0x01, NoAccess
, PAGE_NO_ACCESS
)
119 HANDLE_MDMP_PROTECT(0x02, ReadOnly
, PAGE_READ_ONLY
)
120 HANDLE_MDMP_PROTECT(0x04, ReadWrite
, PAGE_READ_WRITE
)
121 HANDLE_MDMP_PROTECT(0x08, WriteCopy
, PAGE_WRITE_COPY
)
122 HANDLE_MDMP_PROTECT(0x10, Execute
, PAGE_EXECUTE
)
123 HANDLE_MDMP_PROTECT(0x20, ExecuteRead
, PAGE_EXECUTE_READ
)
124 HANDLE_MDMP_PROTECT(0x40, ExecuteReadWrite
, PAGE_EXECUTE_READ_WRITE
)
125 HANDLE_MDMP_PROTECT(0x80, ExeciteWriteCopy
, PAGE_EXECUTE_WRITE_COPY
)
126 HANDLE_MDMP_PROTECT(0x100, Guard
, PAGE_GUARD
)
127 HANDLE_MDMP_PROTECT(0x200, NoCache
, PAGE_NOCACHE
)
128 HANDLE_MDMP_PROTECT(0x400, WriteCombine
, PAGE_WRITECOMBINE
)
129 HANDLE_MDMP_PROTECT(0x40000000, TargetsInvalid
, PAGE_TARGETS_INVALID
)
131 HANDLE_MDMP_MEMSTATE(0x01000, Commit
, MEM_COMMIT
)
132 HANDLE_MDMP_MEMSTATE(0x02000, Reserve
, MEM_RESERVE
)
133 HANDLE_MDMP_MEMSTATE(0x10000, Free
, MEM_FREE
)
135 HANDLE_MDMP_MEMTYPE(0x0020000, Private
, MEM_PRIVATE
)
136 HANDLE_MDMP_MEMTYPE(0x0040000, Mapped
, MEM_MAPPED
)
137 HANDLE_MDMP_MEMTYPE(0x1000000, Image
, MEM_IMAGE
)
139 #undef HANDLE_MDMP_STREAM_TYPE
140 #undef HANDLE_MDMP_ARCH
141 #undef HANDLE_MDMP_PLATFORM
142 #undef HANDLE_MDMP_PROTECT
143 #undef HANDLE_MDMP_MEMSTATE
144 #undef HANDLE_MDMP_MEMTYPE