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
)
11 #error
"Missing HANDLE_MDMP definition"
14 #ifndef HANDLE_MDMP_STREAM_TYPE
15 #define
HANDLE_MDMP_STREAM_TYPE(CODE
, NAME
)
18 #ifndef HANDLE_MDMP_ARCH
19 #define
HANDLE_MDMP_ARCH(CODE
, NAME
)
22 #ifndef HANDLE_MDMP_PLATFORM
23 #define
HANDLE_MDMP_PLATFORM(CODE
, NAME
)
26 HANDLE_MDMP_STREAM_TYPE(0x0003, ThreadList
)
27 HANDLE_MDMP_STREAM_TYPE(0x0004, ModuleList
)
28 HANDLE_MDMP_STREAM_TYPE(0x0005, MemoryList
)
29 HANDLE_MDMP_STREAM_TYPE(0x0006, Exception
)
30 HANDLE_MDMP_STREAM_TYPE(0x0007, SystemInfo
)
31 HANDLE_MDMP_STREAM_TYPE(0x0008, ThreadExList
)
32 HANDLE_MDMP_STREAM_TYPE(0x0009, Memory64List
)
33 HANDLE_MDMP_STREAM_TYPE(0x000a, CommentA
)
34 HANDLE_MDMP_STREAM_TYPE(0x000b, CommentW
)
35 HANDLE_MDMP_STREAM_TYPE(0x000c, HandleData
)
36 HANDLE_MDMP_STREAM_TYPE(0x000d, FunctionTable
)
37 HANDLE_MDMP_STREAM_TYPE(0x000e, UnloadedModuleList
)
38 HANDLE_MDMP_STREAM_TYPE(0x000f, MiscInfo
)
39 HANDLE_MDMP_STREAM_TYPE(0x0010, MemoryInfoList
)
40 HANDLE_MDMP_STREAM_TYPE(0x0011, ThreadInfoList
)
41 HANDLE_MDMP_STREAM_TYPE(0x0012, HandleOperationList
)
42 HANDLE_MDMP_STREAM_TYPE(0x0013, Token
)
43 HANDLE_MDMP_STREAM_TYPE(0x0014, JavascriptData
)
44 HANDLE_MDMP_STREAM_TYPE(0x0015, SystemMemoryInfo
)
45 HANDLE_MDMP_STREAM_TYPE(0x0016, ProcessVMCounters
)
46 // Breakpad extension types.
0x4767 = "Gg"
47 HANDLE_MDMP_STREAM_TYPE(0x47670001, BreakpadInfo
)
48 HANDLE_MDMP_STREAM_TYPE(0x47670002, AssertionInfo
)
49 // These are additional minidump stream values which are specific to the linux
50 // breakpad implementation.
51 HANDLE_MDMP_STREAM_TYPE(0x47670003, LinuxCPUInfo
) // /proc
/cpuinfo
52 HANDLE_MDMP_STREAM_TYPE(0x47670004, LinuxProcStatus
) // /proc
/$x
/status
53 HANDLE_MDMP_STREAM_TYPE(0x47670005, LinuxLSBRelease
) // /etc
/lsb
-release
54 HANDLE_MDMP_STREAM_TYPE(0x47670006, LinuxCMDLine
) // /proc
/$x
/cmdline
55 HANDLE_MDMP_STREAM_TYPE(0x47670007, LinuxEnviron
) // /proc
/$x
/environ
56 HANDLE_MDMP_STREAM_TYPE(0x47670008, LinuxAuxv
) // /proc
/$x
/auxv
57 HANDLE_MDMP_STREAM_TYPE(0x47670009, LinuxMaps
) // /proc
/$x
/maps
58 HANDLE_MDMP_STREAM_TYPE(0x4767000A, LinuxDSODebug
)
59 HANDLE_MDMP_STREAM_TYPE(0x4767000B, LinuxProcStat
) // /proc
/$x
/stat
60 HANDLE_MDMP_STREAM_TYPE(0x4767000C, LinuxProcUptime
) // uptime
61 HANDLE_MDMP_STREAM_TYPE(0x4767000D, LinuxProcFD
) // /proc
/$x
/fd
62 // Facebook
-defined stream types
63 HANDLE_MDMP_STREAM_TYPE(0xFACE1CA7, FacebookLogcat
)
64 HANDLE_MDMP_STREAM_TYPE(0xFACECAFA, FacebookAppCustomData
)
65 HANDLE_MDMP_STREAM_TYPE(0xFACECAFB, FacebookBuildID
)
66 HANDLE_MDMP_STREAM_TYPE(0xFACECAFC, FacebookAppVersionName
)
67 HANDLE_MDMP_STREAM_TYPE(0xFACECAFD, FacebookJavaStack
)
68 HANDLE_MDMP_STREAM_TYPE(0xFACECAFE, FacebookDalvikInfo
)
69 HANDLE_MDMP_STREAM_TYPE(0xFACECAFF, FacebookUnwindSymbols
)
70 HANDLE_MDMP_STREAM_TYPE(0xFACECB00, FacebookDumpErrorLog
)
71 HANDLE_MDMP_STREAM_TYPE(0xFACECCCC, FacebookAppStateLog
)
72 HANDLE_MDMP_STREAM_TYPE(0xFACEDEAD, FacebookAbortReason
)
73 HANDLE_MDMP_STREAM_TYPE(0xFACEE000, FacebookThreadName
)
75 HANDLE_MDMP_ARCH(0x0000, X86
) // PROCESSOR_ARCHITECTURE_INTEL
76 HANDLE_MDMP_ARCH(0x0001, MIPS
) // PROCESSOR_ARCHITECTURE_MIPS
77 HANDLE_MDMP_ARCH(0x0002, Alpha
) // PROCESSOR_ARCHITECTURE_ALPHA
78 HANDLE_MDMP_ARCH(0x0003, PPC
) // PROCESSOR_ARCHITECTURE_PPC
79 HANDLE_MDMP_ARCH(0x0004, SHX
) // PROCESSOR_ARCHITECTURE_SHX (Super
-H
)
80 HANDLE_MDMP_ARCH(0x0005, ARM
) // PROCESSOR_ARCHITECTURE_ARM
81 HANDLE_MDMP_ARCH(0x0006, IA64
) // PROCESSOR_ARCHITECTURE_IA64
82 HANDLE_MDMP_ARCH(0x0007, Alpha64
) // PROCESSOR_ARCHITECTURE_ALPHA64
83 HANDLE_MDMP_ARCH(0x0008, MSIL
) // PROCESSOR_ARCHITECTURE_MSIL
84 HANDLE_MDMP_ARCH(0x0009, AMD64
) // PROCESSOR_ARCHITECTURE_AMD64
85 HANDLE_MDMP_ARCH(0x000a, X86Win64
) // PROCESSOR_ARCHITECTURE_IA32_ON_WIN64
86 HANDLE_MDMP_ARCH(0x8001, SPARC
) // Breakpad
-defined value for SPARC
87 HANDLE_MDMP_ARCH(0x8002, PPC64
) // Breakpad
-defined value for PPC64
88 HANDLE_MDMP_ARCH(0x8003, ARM64
) // Breakpad
-defined value for ARM64
89 HANDLE_MDMP_ARCH(0x8004, MIPS64
) // Breakpad
-defined value for MIPS64
91 HANDLE_MDMP_PLATFORM(0x0000, Win32S
) // Win32 on Windows
3.1
92 HANDLE_MDMP_PLATFORM(0x0001, Win32Windows
) // Windows
95-98-Me
93 HANDLE_MDMP_PLATFORM(0x0002, Win32NT
) // Windows NT
, 2000+
94 HANDLE_MDMP_PLATFORM(0x0003, Win32CE
) // Windows CE
, Windows Mobile
, "Handheld"
95 // Breakpad
-defined values.
96 HANDLE_MDMP_PLATFORM(0x8000, Unix
) // Generic Unix
-ish
97 HANDLE_MDMP_PLATFORM(0x8101, MacOSX
) // Mac OS X
/Darwin
98 HANDLE_MDMP_PLATFORM(0x8102, IOS
) // iOS
99 HANDLE_MDMP_PLATFORM(0x8201, Linux
) // Linux
100 HANDLE_MDMP_PLATFORM(0x8202, Solaris
) // Solaris
101 HANDLE_MDMP_PLATFORM(0x8203, Android
) // Android
102 HANDLE_MDMP_PLATFORM(0x8204, PS3
) // PS3
103 HANDLE_MDMP_PLATFORM(0x8205, NaCl
) // Native
Client (NaCl
)
105 #undef HANDLE_MDMP_STREAM_TYPE
106 #undef HANDLE_MDMP_ARCH
107 #undef HANDLE_MDMP_PLATFORM