| //===- MinidumpConstants.def - Iteration over minidump constants-*- C++ -*-===// |
| // |
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
| // See https://llvm.org/LICENSE.txt for license information. |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| // |
| //===----------------------------------------------------------------------===// |
| |
| #if !(defined HANDLE_MDMP_STREAM_TYPE || defined HANDLE_MDMP_ARCH || \ |
| defined HANDLE_MDMP_PLATFORM) |
| #error "Missing HANDLE_MDMP definition" |
| #endif |
| |
| #ifndef HANDLE_MDMP_STREAM_TYPE |
| #define HANDLE_MDMP_STREAM_TYPE(CODE, NAME) |
| #endif |
| |
| #ifndef HANDLE_MDMP_ARCH |
| #define HANDLE_MDMP_ARCH(CODE, NAME) |
| #endif |
| |
| #ifndef HANDLE_MDMP_PLATFORM |
| #define HANDLE_MDMP_PLATFORM(CODE, NAME) |
| #endif |
| |
| HANDLE_MDMP_STREAM_TYPE(0x0003, ThreadList) |
| HANDLE_MDMP_STREAM_TYPE(0x0004, ModuleList) |
| HANDLE_MDMP_STREAM_TYPE(0x0005, MemoryList) |
| HANDLE_MDMP_STREAM_TYPE(0x0006, Exception) |
| HANDLE_MDMP_STREAM_TYPE(0x0007, SystemInfo) |
| HANDLE_MDMP_STREAM_TYPE(0x0008, ThreadExList) |
| HANDLE_MDMP_STREAM_TYPE(0x0009, Memory64List) |
| HANDLE_MDMP_STREAM_TYPE(0x000a, CommentA) |
| HANDLE_MDMP_STREAM_TYPE(0x000b, CommentW) |
| HANDLE_MDMP_STREAM_TYPE(0x000c, HandleData) |
| HANDLE_MDMP_STREAM_TYPE(0x000d, FunctionTable) |
| HANDLE_MDMP_STREAM_TYPE(0x000e, UnloadedModuleList) |
| HANDLE_MDMP_STREAM_TYPE(0x000f, MiscInfo) |
| HANDLE_MDMP_STREAM_TYPE(0x0010, MemoryInfoList) |
| HANDLE_MDMP_STREAM_TYPE(0x0011, ThreadInfoList) |
| HANDLE_MDMP_STREAM_TYPE(0x0012, HandleOperationList) |
| HANDLE_MDMP_STREAM_TYPE(0x0013, Token) |
| HANDLE_MDMP_STREAM_TYPE(0x0014, JavascriptData) |
| HANDLE_MDMP_STREAM_TYPE(0x0015, SystemMemoryInfo) |
| HANDLE_MDMP_STREAM_TYPE(0x0016, ProcessVMCounters) |
| // Breakpad extension types. 0x4767 = "Gg" |
| HANDLE_MDMP_STREAM_TYPE(0x47670001, BreakpadInfo) |
| HANDLE_MDMP_STREAM_TYPE(0x47670002, AssertionInfo) |
| // These are additional minidump stream values which are specific to the linux |
| // breakpad implementation. |
| HANDLE_MDMP_STREAM_TYPE(0x47670003, LinuxCPUInfo) // /proc/cpuinfo |
| HANDLE_MDMP_STREAM_TYPE(0x47670004, LinuxProcStatus) // /proc/$x/status |
| HANDLE_MDMP_STREAM_TYPE(0x47670005, LinuxLSBRelease) // /etc/lsb-release |
| HANDLE_MDMP_STREAM_TYPE(0x47670006, LinuxCMDLine) // /proc/$x/cmdline |
| HANDLE_MDMP_STREAM_TYPE(0x47670007, LinuxEnviron) // /proc/$x/environ |
| HANDLE_MDMP_STREAM_TYPE(0x47670008, LinuxAuxv) // /proc/$x/auxv |
| HANDLE_MDMP_STREAM_TYPE(0x47670009, LinuxMaps) // /proc/$x/maps |
| HANDLE_MDMP_STREAM_TYPE(0x4767000A, LinuxDSODebug) |
| HANDLE_MDMP_STREAM_TYPE(0x4767000B, LinuxProcStat) // /proc/$x/stat |
| HANDLE_MDMP_STREAM_TYPE(0x4767000C, LinuxProcUptime) // uptime |
| HANDLE_MDMP_STREAM_TYPE(0x4767000D, LinuxProcFD) // /proc/$x/fd |
| // Facebook-defined stream types |
| HANDLE_MDMP_STREAM_TYPE(0xFACE1CA7, FacebookLogcat) |
| HANDLE_MDMP_STREAM_TYPE(0xFACECAFA, FacebookAppCustomData) |
| HANDLE_MDMP_STREAM_TYPE(0xFACECAFB, FacebookBuildID) |
| HANDLE_MDMP_STREAM_TYPE(0xFACECAFC, FacebookAppVersionName) |
| HANDLE_MDMP_STREAM_TYPE(0xFACECAFD, FacebookJavaStack) |
| HANDLE_MDMP_STREAM_TYPE(0xFACECAFE, FacebookDalvikInfo) |
| HANDLE_MDMP_STREAM_TYPE(0xFACECAFF, FacebookUnwindSymbols) |
| HANDLE_MDMP_STREAM_TYPE(0xFACECB00, FacebookDumpErrorLog) |
| HANDLE_MDMP_STREAM_TYPE(0xFACECCCC, FacebookAppStateLog) |
| HANDLE_MDMP_STREAM_TYPE(0xFACEDEAD, FacebookAbortReason) |
| HANDLE_MDMP_STREAM_TYPE(0xFACEE000, FacebookThreadName) |
| |
| HANDLE_MDMP_ARCH(0x0000, X86) // PROCESSOR_ARCHITECTURE_INTEL |
| HANDLE_MDMP_ARCH(0x0001, MIPS) // PROCESSOR_ARCHITECTURE_MIPS |
| HANDLE_MDMP_ARCH(0x0002, Alpha) // PROCESSOR_ARCHITECTURE_ALPHA |
| HANDLE_MDMP_ARCH(0x0003, PPC) // PROCESSOR_ARCHITECTURE_PPC |
| HANDLE_MDMP_ARCH(0x0004, SHX) // PROCESSOR_ARCHITECTURE_SHX (Super-H) |
| HANDLE_MDMP_ARCH(0x0005, ARM) // PROCESSOR_ARCHITECTURE_ARM |
| HANDLE_MDMP_ARCH(0x0006, IA64) // PROCESSOR_ARCHITECTURE_IA64 |
| HANDLE_MDMP_ARCH(0x0007, Alpha64) // PROCESSOR_ARCHITECTURE_ALPHA64 |
| HANDLE_MDMP_ARCH(0x0008, MSIL) // PROCESSOR_ARCHITECTURE_MSIL |
| HANDLE_MDMP_ARCH(0x0009, AMD64) // PROCESSOR_ARCHITECTURE_AMD64 |
| HANDLE_MDMP_ARCH(0x000a, X86Win64) // PROCESSOR_ARCHITECTURE_IA32_ON_WIN64 |
| HANDLE_MDMP_ARCH(0x8001, SPARC) // Breakpad-defined value for SPARC |
| HANDLE_MDMP_ARCH(0x8002, PPC64) // Breakpad-defined value for PPC64 |
| HANDLE_MDMP_ARCH(0x8003, ARM64) // Breakpad-defined value for ARM64 |
| HANDLE_MDMP_ARCH(0x8004, MIPS64) // Breakpad-defined value for MIPS64 |
| |
| HANDLE_MDMP_PLATFORM(0x0000, Win32S) // Win32 on Windows 3.1 |
| HANDLE_MDMP_PLATFORM(0x0001, Win32Windows) // Windows 95-98-Me |
| HANDLE_MDMP_PLATFORM(0x0002, Win32NT) // Windows NT, 2000+ |
| HANDLE_MDMP_PLATFORM(0x0003, Win32CE) // Windows CE, Windows Mobile, "Handheld" |
| // Breakpad-defined values. |
| HANDLE_MDMP_PLATFORM(0x8000, Unix) // Generic Unix-ish |
| HANDLE_MDMP_PLATFORM(0x8101, MacOSX) // Mac OS X/Darwin |
| HANDLE_MDMP_PLATFORM(0x8102, IOS) // iOS |
| HANDLE_MDMP_PLATFORM(0x8201, Linux) // Linux |
| HANDLE_MDMP_PLATFORM(0x8202, Solaris) // Solaris |
| HANDLE_MDMP_PLATFORM(0x8203, Android) // Android |
| HANDLE_MDMP_PLATFORM(0x8204, PS3) // PS3 |
| HANDLE_MDMP_PLATFORM(0x8205, NaCl) // Native Client (NaCl) |
| |
| #undef HANDLE_MDMP_STREAM_TYPE |
| #undef HANDLE_MDMP_ARCH |
| #undef HANDLE_MDMP_PLATFORM |