summaryrefslogtreecommitdiffstats
path: root/toolkit/crashreporter/google-breakpad/src/google_breakpad
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/crashreporter/google-breakpad/src/google_breakpad')
-rw-r--r--toolkit/crashreporter/google-breakpad/src/google_breakpad/common/breakpad_types.h68
-rw-r--r--toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_cpu_amd64.h235
-rw-r--r--toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_cpu_arm.h151
-rw-r--r--toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_cpu_arm64.h140
-rw-r--r--toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_cpu_mips.h176
-rw-r--r--toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_cpu_ppc.h168
-rw-r--r--toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_cpu_ppc64.h134
-rw-r--r--toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_cpu_sparc.h163
-rw-r--r--toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_cpu_x86.h174
-rw-r--r--toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_exception_linux.h87
-rw-r--r--toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_exception_mac.h205
-rw-r--r--toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_exception_ps3.h67
-rw-r--r--toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_exception_solaris.h94
-rw-r--r--toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_exception_win32.h2264
-rw-r--r--toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_format.h1045
-rw-r--r--toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_size.h113
-rw-r--r--toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/basic_source_line_resolver.h144
-rw-r--r--toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/call_stack.h87
-rw-r--r--toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/code_module.h101
-rw-r--r--toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/code_modules.h111
-rw-r--r--toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/dump_context.h116
-rw-r--r--toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/dump_object.h53
-rw-r--r--toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/exploitability.h82
-rw-r--r--toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/fast_source_line_resolver.h100
-rw-r--r--toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/memory_region.h79
-rw-r--r--toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/microdump.h132
-rw-r--r--toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/microdump_processor.h63
-rw-r--r--toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/minidump.h1171
-rw-r--r--toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/minidump_processor.h147
-rw-r--r--toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/proc_maps_linux.h60
-rw-r--r--toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/process_result.h66
-rw-r--r--toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/process_state.h198
-rw-r--r--toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/source_line_resolver_base.h128
-rw-r--r--toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/source_line_resolver_interface.h117
-rw-r--r--toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/stack_frame.h144
-rw-r--r--toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/stack_frame_cpu.h405
-rw-r--r--toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/stack_frame_symbolizer.h108
-rw-r--r--toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/stackwalker.h235
-rw-r--r--toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/symbol_supplier.h99
-rw-r--r--toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/system_info.h106
40 files changed, 0 insertions, 9336 deletions
diff --git a/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/breakpad_types.h b/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/breakpad_types.h
deleted file mode 100644
index d8828043f..000000000
--- a/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/breakpad_types.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/* Copyright (c) 2006, Google Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
-
-/* breakpad_types.h: Precise-width types
- *
- * (This is C99 source, please don't corrupt it with C++.)
- *
- * This file ensures that types uintN_t are defined for N = 8, 16, 32, and
- * 64. Types of precise widths are crucial to the task of writing data
- * structures on one platform and reading them on another.
- *
- * Author: Mark Mentovai */
-
-#ifndef GOOGLE_BREAKPAD_COMMON_BREAKPAD_TYPES_H__
-#define GOOGLE_BREAKPAD_COMMON_BREAKPAD_TYPES_H__
-
-#if (defined(_INTTYPES_H) || defined(_INTTYPES_H_)) && \
- !defined(__STDC_FORMAT_MACROS)
-#error "inttypes.h has already been included before this header file, but "
-#error "without __STDC_FORMAT_MACROS defined."
-#endif
-
-#ifndef __STDC_FORMAT_MACROS
-#define __STDC_FORMAT_MACROS
-#endif /* __STDC_FORMAT_MACROS */
-#include <inttypes.h>
-
-typedef struct {
- uint64_t high;
- uint64_t low;
-} uint128_struct;
-
-typedef uint64_t breakpad_time_t;
-
-/* Try to get PRIx64 from inttypes.h, but if it's not defined, fall back to
- * llx, which is the format string for "long long" - this is a 64-bit
- * integral type on many systems. */
-#ifndef PRIx64
-#define PRIx64 "llx"
-#endif /* !PRIx64 */
-
-#endif /* GOOGLE_BREAKPAD_COMMON_BREAKPAD_TYPES_H__ */
diff --git a/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_cpu_amd64.h b/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_cpu_amd64.h
deleted file mode 100644
index 4256706d7..000000000
--- a/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_cpu_amd64.h
+++ /dev/null
@@ -1,235 +0,0 @@
-/* Copyright (c) 2006, Google Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
-
-/* minidump_format.h: A cross-platform reimplementation of minidump-related
- * portions of DbgHelp.h from the Windows Platform SDK.
- *
- * (This is C99 source, please don't corrupt it with C++.)
- *
- * This file contains the necessary definitions to read minidump files
- * produced on amd64. These files may be read on any platform provided
- * that the alignments of these structures on the processing system are
- * identical to the alignments of these structures on the producing system.
- * For this reason, precise-sized types are used. The structures defined
- * by this file have been laid out to minimize alignment problems by ensuring
- * ensuring that all members are aligned on their natural boundaries. In
- * In some cases, tail-padding may be significant when different ABIs specify
- * different tail-padding behaviors. To avoid problems when reading or
- * writing affected structures, MD_*_SIZE macros are provided where needed,
- * containing the useful size of the structures without padding.
- *
- * Structures that are defined by Microsoft to contain a zero-length array
- * are instead defined here to contain an array with one element, as
- * zero-length arrays are forbidden by standard C and C++. In these cases,
- * *_minsize constants are provided to be used in place of sizeof. For a
- * cleaner interface to these sizes when using C++, see minidump_size.h.
- *
- * These structures are also sufficient to populate minidump files.
- *
- * These definitions may be extended to support handling minidump files
- * for other CPUs and other operating systems.
- *
- * Because precise data type sizes are crucial for this implementation to
- * function properly and portably in terms of interoperability with minidumps
- * produced by DbgHelp on Windows, a set of primitive types with known sizes
- * are used as the basis of each structure defined by this file. DbgHelp
- * on Windows is assumed to be the reference implementation; this file
- * seeks to provide a cross-platform compatible implementation. To avoid
- * collisions with the types and values defined and used by DbgHelp in the
- * event that this implementation is used on Windows, each type and value
- * defined here is given a new name, beginning with "MD". Names of the
- * equivalent types and values in the Windows Platform SDK are given in
- * comments.
- *
- * Author: Mark Mentovai
- * Change to split into its own file: Neal Sidhwaney */
-
-#ifndef GOOGLE_BREAKPAD_COMMON_MINIDUMP_CPU_AMD64_H__
-#define GOOGLE_BREAKPAD_COMMON_MINIDUMP_CPU_AMD64_H__
-
-
-/*
- * AMD64 support, see WINNT.H
- */
-
-typedef struct {
- uint16_t control_word;
- uint16_t status_word;
- uint8_t tag_word;
- uint8_t reserved1;
- uint16_t error_opcode;
- uint32_t error_offset;
- uint16_t error_selector;
- uint16_t reserved2;
- uint32_t data_offset;
- uint16_t data_selector;
- uint16_t reserved3;
- uint32_t mx_csr;
- uint32_t mx_csr_mask;
- uint128_struct float_registers[8];
- uint128_struct xmm_registers[16];
- uint8_t reserved4[96];
-} MDXmmSaveArea32AMD64; /* XMM_SAVE_AREA32 */
-
-#define MD_CONTEXT_AMD64_VR_COUNT 26
-
-typedef struct {
- /*
- * Register parameter home addresses.
- */
- uint64_t p1_home;
- uint64_t p2_home;
- uint64_t p3_home;
- uint64_t p4_home;
- uint64_t p5_home;
- uint64_t p6_home;
-
- /* The next field determines the layout of the structure, and which parts
- * of it are populated */
- uint32_t context_flags;
- uint32_t mx_csr;
-
- /* The next register is included with MD_CONTEXT_AMD64_CONTROL */
- uint16_t cs;
-
- /* The next 4 registers are included with MD_CONTEXT_AMD64_SEGMENTS */
- uint16_t ds;
- uint16_t es;
- uint16_t fs;
- uint16_t gs;
-
- /* The next 2 registers are included with MD_CONTEXT_AMD64_CONTROL */
- uint16_t ss;
- uint32_t eflags;
-
- /* The next 6 registers are included with MD_CONTEXT_AMD64_DEBUG_REGISTERS */
- uint64_t dr0;
- uint64_t dr1;
- uint64_t dr2;
- uint64_t dr3;
- uint64_t dr6;
- uint64_t dr7;
-
- /* The next 4 registers are included with MD_CONTEXT_AMD64_INTEGER */
- uint64_t rax;
- uint64_t rcx;
- uint64_t rdx;
- uint64_t rbx;
-
- /* The next register is included with MD_CONTEXT_AMD64_CONTROL */
- uint64_t rsp;
-
- /* The next 11 registers are included with MD_CONTEXT_AMD64_INTEGER */
- uint64_t rbp;
- uint64_t rsi;
- uint64_t rdi;
- uint64_t r8;
- uint64_t r9;
- uint64_t r10;
- uint64_t r11;
- uint64_t r12;
- uint64_t r13;
- uint64_t r14;
- uint64_t r15;
-
- /* The next register is included with MD_CONTEXT_AMD64_CONTROL */
- uint64_t rip;
-
- /* The next set of registers are included with
- * MD_CONTEXT_AMD64_FLOATING_POINT
- */
- union {
- MDXmmSaveArea32AMD64 flt_save;
- struct {
- uint128_struct header[2];
- uint128_struct legacy[8];
- uint128_struct xmm0;
- uint128_struct xmm1;
- uint128_struct xmm2;
- uint128_struct xmm3;
- uint128_struct xmm4;
- uint128_struct xmm5;
- uint128_struct xmm6;
- uint128_struct xmm7;
- uint128_struct xmm8;
- uint128_struct xmm9;
- uint128_struct xmm10;
- uint128_struct xmm11;
- uint128_struct xmm12;
- uint128_struct xmm13;
- uint128_struct xmm14;
- uint128_struct xmm15;
- } sse_registers;
- };
-
- uint128_struct vector_register[MD_CONTEXT_AMD64_VR_COUNT];
- uint64_t vector_control;
-
- /* The next 5 registers are included with MD_CONTEXT_AMD64_DEBUG_REGISTERS */
- uint64_t debug_control;
- uint64_t last_branch_to_rip;
- uint64_t last_branch_from_rip;
- uint64_t last_exception_to_rip;
- uint64_t last_exception_from_rip;
-
-} MDRawContextAMD64; /* CONTEXT */
-
-/* For (MDRawContextAMD64).context_flags. These values indicate the type of
- * context stored in the structure. The high 24 bits identify the CPU, the
- * low 8 bits identify the type of context saved. */
-#define MD_CONTEXT_AMD64 0x00100000 /* CONTEXT_AMD64 */
-#define MD_CONTEXT_AMD64_CONTROL (MD_CONTEXT_AMD64 | 0x00000001)
- /* CONTEXT_CONTROL */
-#define MD_CONTEXT_AMD64_INTEGER (MD_CONTEXT_AMD64 | 0x00000002)
- /* CONTEXT_INTEGER */
-#define MD_CONTEXT_AMD64_SEGMENTS (MD_CONTEXT_AMD64 | 0x00000004)
- /* CONTEXT_SEGMENTS */
-#define MD_CONTEXT_AMD64_FLOATING_POINT (MD_CONTEXT_AMD64 | 0x00000008)
- /* CONTEXT_FLOATING_POINT */
-#define MD_CONTEXT_AMD64_DEBUG_REGISTERS (MD_CONTEXT_AMD64 | 0x00000010)
- /* CONTEXT_DEBUG_REGISTERS */
-#define MD_CONTEXT_AMD64_XSTATE (MD_CONTEXT_AMD64 | 0x00000040)
- /* CONTEXT_XSTATE */
-
-/* WinNT.h refers to CONTEXT_MMX_REGISTERS but doesn't appear to define it
- * I think it really means CONTEXT_FLOATING_POINT.
- */
-
-#define MD_CONTEXT_AMD64_FULL (MD_CONTEXT_AMD64_CONTROL | \
- MD_CONTEXT_AMD64_INTEGER | \
- MD_CONTEXT_AMD64_FLOATING_POINT)
- /* CONTEXT_FULL */
-
-#define MD_CONTEXT_AMD64_ALL (MD_CONTEXT_AMD64_FULL | \
- MD_CONTEXT_AMD64_SEGMENTS | \
- MD_CONTEXT_X86_DEBUG_REGISTERS)
- /* CONTEXT_ALL */
-
-
-#endif /* GOOGLE_BREAKPAD_COMMON_MINIDUMP_CPU_AMD64_H__ */
diff --git a/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_cpu_arm.h b/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_cpu_arm.h
deleted file mode 100644
index 6a7113833..000000000
--- a/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_cpu_arm.h
+++ /dev/null
@@ -1,151 +0,0 @@
-/* Copyright (c) 2009, Google Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
-
-/* minidump_format.h: A cross-platform reimplementation of minidump-related
- * portions of DbgHelp.h from the Windows Platform SDK.
- *
- * (This is C99 source, please don't corrupt it with C++.)
- *
- * This file contains the necessary definitions to read minidump files
- * produced on ARM. These files may be read on any platform provided
- * that the alignments of these structures on the processing system are
- * identical to the alignments of these structures on the producing system.
- * For this reason, precise-sized types are used. The structures defined
- * by this file have been laid out to minimize alignment problems by
- * ensuring that all members are aligned on their natural boundaries.
- * In some cases, tail-padding may be significant when different ABIs specify
- * different tail-padding behaviors. To avoid problems when reading or
- * writing affected structures, MD_*_SIZE macros are provided where needed,
- * containing the useful size of the structures without padding.
- *
- * Structures that are defined by Microsoft to contain a zero-length array
- * are instead defined here to contain an array with one element, as
- * zero-length arrays are forbidden by standard C and C++. In these cases,
- * *_minsize constants are provided to be used in place of sizeof. For a
- * cleaner interface to these sizes when using C++, see minidump_size.h.
- *
- * These structures are also sufficient to populate minidump files.
- *
- * Because precise data type sizes are crucial for this implementation to
- * function properly and portably, a set of primitive types with known sizes
- * are used as the basis of each structure defined by this file.
- *
- * Author: Julian Seward
- */
-
-/*
- * ARM support
- */
-
-#ifndef GOOGLE_BREAKPAD_COMMON_MINIDUMP_CPU_ARM_H__
-#define GOOGLE_BREAKPAD_COMMON_MINIDUMP_CPU_ARM_H__
-
-#define MD_FLOATINGSAVEAREA_ARM_FPR_COUNT 32
-#define MD_FLOATINGSAVEAREA_ARM_FPEXTRA_COUNT 8
-
-/*
- * Note that these structures *do not* map directly to the CONTEXT
- * structure defined in WinNT.h in the Windows Mobile SDK. That structure
- * does not accomodate VFPv3, and I'm unsure if it was ever used in the
- * wild anyway, as Windows CE only seems to produce "cedumps" which
- * are not exactly minidumps.
- */
-typedef struct {
- uint64_t fpscr; /* FPU status register */
-
- /* 32 64-bit floating point registers, d0 .. d31. */
- uint64_t regs[MD_FLOATINGSAVEAREA_ARM_FPR_COUNT];
-
- /* Miscellaneous control words */
- uint32_t extra[MD_FLOATINGSAVEAREA_ARM_FPEXTRA_COUNT];
-} MDFloatingSaveAreaARM;
-
-#define MD_CONTEXT_ARM_GPR_COUNT 16
-
-typedef struct {
- /* The next field determines the layout of the structure, and which parts
- * of it are populated
- */
- uint32_t context_flags;
-
- /* 16 32-bit integer registers, r0 .. r15
- * Note the following fixed uses:
- * r13 is the stack pointer
- * r14 is the link register
- * r15 is the program counter
- */
- uint32_t iregs[MD_CONTEXT_ARM_GPR_COUNT];
-
- /* CPSR (flags, basically): 32 bits:
- bit 31 - N (negative)
- bit 30 - Z (zero)
- bit 29 - C (carry)
- bit 28 - V (overflow)
- bit 27 - Q (saturation flag, sticky)
- All other fields -- ignore */
- uint32_t cpsr;
-
- /* The next field is included with MD_CONTEXT_ARM_FLOATING_POINT */
- MDFloatingSaveAreaARM float_save;
-
-} MDRawContextARM;
-
-/* Indices into iregs for registers with a dedicated or conventional
- * purpose.
- */
-enum MDARMRegisterNumbers {
- MD_CONTEXT_ARM_REG_IOS_FP = 7,
- MD_CONTEXT_ARM_REG_FP = 11,
- MD_CONTEXT_ARM_REG_SP = 13,
- MD_CONTEXT_ARM_REG_LR = 14,
- MD_CONTEXT_ARM_REG_PC = 15
-};
-
-/* For (MDRawContextARM).context_flags. These values indicate the type of
- * context stored in the structure. */
-/* CONTEXT_ARM from the Windows CE 5.0 SDK. This value isn't correct
- * because this bit can be used for flags. Presumably this value was
- * never actually used in minidumps, but only in "CEDumps" which
- * are a whole parallel minidump file format for Windows CE.
- * Therefore, Breakpad defines its own value for ARM CPUs.
- */
-#define MD_CONTEXT_ARM_OLD 0x00000040
-/* This value was chosen to avoid likely conflicts with MD_CONTEXT_*
- * for other CPUs. */
-#define MD_CONTEXT_ARM 0x40000000
-#define MD_CONTEXT_ARM_INTEGER (MD_CONTEXT_ARM | 0x00000002)
-#define MD_CONTEXT_ARM_FLOATING_POINT (MD_CONTEXT_ARM | 0x00000004)
-
-#define MD_CONTEXT_ARM_FULL (MD_CONTEXT_ARM_INTEGER | \
- MD_CONTEXT_ARM_FLOATING_POINT)
-
-#define MD_CONTEXT_ARM_ALL (MD_CONTEXT_ARM_INTEGER | \
- MD_CONTEXT_ARM_FLOATING_POINT)
-
-#endif /* GOOGLE_BREAKPAD_COMMON_MINIDUMP_CPU_ARM_H__ */
diff --git a/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_cpu_arm64.h b/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_cpu_arm64.h
deleted file mode 100644
index 5ace0d9de..000000000
--- a/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_cpu_arm64.h
+++ /dev/null
@@ -1,140 +0,0 @@
-/* Copyright 2013 Google Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
-
-/* minidump_format.h: A cross-platform reimplementation of minidump-related
- * portions of DbgHelp.h from the Windows Platform SDK.
- *
- * (This is C99 source, please don't corrupt it with C++.)
- *
- * This file contains the necessary definitions to read minidump files
- * produced on ARM. These files may be read on any platform provided
- * that the alignments of these structures on the processing system are
- * identical to the alignments of these structures on the producing system.
- * For this reason, precise-sized types are used. The structures defined
- * by this file have been laid out to minimize alignment problems by
- * ensuring that all members are aligned on their natural boundaries.
- * In some cases, tail-padding may be significant when different ABIs specify
- * different tail-padding behaviors. To avoid problems when reading or
- * writing affected structures, MD_*_SIZE macros are provided where needed,
- * containing the useful size of the structures without padding.
- *
- * Structures that are defined by Microsoft to contain a zero-length array
- * are instead defined here to contain an array with one element, as
- * zero-length arrays are forbidden by standard C and C++. In these cases,
- * *_minsize constants are provided to be used in place of sizeof. For a
- * cleaner interface to these sizes when using C++, see minidump_size.h.
- *
- * These structures are also sufficient to populate minidump files.
- *
- * Because precise data type sizes are crucial for this implementation to
- * function properly and portably, a set of primitive types with known sizes
- * are used as the basis of each structure defined by this file.
- *
- * Author: Colin Blundell
- */
-
-/*
- * ARM64 support
- */
-
-#ifndef GOOGLE_BREAKPAD_COMMON_MINIDUMP_CPU_ARM64_H__
-#define GOOGLE_BREAKPAD_COMMON_MINIDUMP_CPU_ARM64_H__
-
-#define MD_FLOATINGSAVEAREA_ARM64_FPR_COUNT 32
-
-typedef struct {
- uint32_t fpsr; /* FPU status register */
- uint32_t fpcr; /* FPU control register */
-
- /* 32 128-bit floating point registers, d0 .. d31. */
- uint128_struct regs[MD_FLOATINGSAVEAREA_ARM64_FPR_COUNT];
-} MDFloatingSaveAreaARM64;
-
-#define MD_CONTEXT_ARM64_GPR_COUNT 33
-
-/* Use the same 32-bit alignment when accessing this structure from 64-bit code
- * as is used natively in 32-bit code. */
-#pragma pack(push, 4)
-
-typedef struct {
- /* The next field determines the layout of the structure, and which parts
- * of it are populated
- */
- uint64_t context_flags;
-
- /* 33 64-bit integer registers, x0 .. x31 + the PC
- * Note the following fixed uses:
- * x29 is the frame pointer
- * x30 is the link register
- * x31 is the stack pointer
- * The PC is effectively x32.
- */
- uint64_t iregs[MD_CONTEXT_ARM64_GPR_COUNT];
-
- /* CPSR (flags, basically): 32 bits:
- bit 31 - N (negative)
- bit 30 - Z (zero)
- bit 29 - C (carry)
- bit 28 - V (overflow)
- bit 27 - Q (saturation flag, sticky)
- All other fields -- ignore */
- uint32_t cpsr;
-
- /* The next field is included with MD_CONTEXT64_ARM_FLOATING_POINT */
- MDFloatingSaveAreaARM64 float_save;
-
-} MDRawContextARM64;
-
-#pragma pack(pop)
-
-/* Indices into iregs for registers with a dedicated or conventional
- * purpose.
- */
-enum MDARM64RegisterNumbers {
- MD_CONTEXT_ARM64_REG_FP = 29,
- MD_CONTEXT_ARM64_REG_LR = 30,
- MD_CONTEXT_ARM64_REG_SP = 31,
- MD_CONTEXT_ARM64_REG_PC = 32
-};
-
-/* For (MDRawContextARM64).context_flags. These values indicate the type of
- * context stored in the structure. MD_CONTEXT_ARM64 is Breakpad-defined.
- * This value was chosen to avoid likely conflicts with MD_CONTEXT_*
- * for other CPUs. */
-#define MD_CONTEXT_ARM64 0x80000000
-#define MD_CONTEXT_ARM64_INTEGER (MD_CONTEXT_ARM64 | 0x00000002)
-#define MD_CONTEXT_ARM64_FLOATING_POINT (MD_CONTEXT_ARM64 | 0x00000004)
-
-#define MD_CONTEXT_ARM64_FULL (MD_CONTEXT_ARM64_INTEGER | \
- MD_CONTEXT_ARM64_FLOATING_POINT)
-
-#define MD_CONTEXT_ARM64_ALL (MD_CONTEXT_ARM64_INTEGER | \
- MD_CONTEXT_ARM64_FLOATING_POINT)
-
-#endif /* GOOGLE_BREAKPAD_COMMON_MINIDUMP_CPU_ARM64_H__ */
diff --git a/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_cpu_mips.h b/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_cpu_mips.h
deleted file mode 100644
index f4e2b5891..000000000
--- a/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_cpu_mips.h
+++ /dev/null
@@ -1,176 +0,0 @@
-/* Copyright (c) 2013, Google Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
-
-/* minidump_format.h: A cross-platform reimplementation of minidump-related
- * portions of DbgHelp.h from the Windows Platform SDK.
- *
- * (This is C99 source, please don't corrupt it with C++.)
- *
- * This file contains the necessary definitions to read minidump files
- * produced on MIPS. These files may be read on any platform provided
- * that the alignments of these structures on the processing system are
- * identical to the alignments of these structures on the producing system.
- * For this reason, precise-sized types are used. The structures defined
- * by this file have been laid out to minimize alignment problems by
- * ensuring that all members are aligned on their natural boundaries.
- * In some cases, tail-padding may be significant when different ABIs specify
- * different tail-padding behaviors. To avoid problems when reading or
- * writing affected structures, MD_*_SIZE macros are provided where needed,
- * containing the useful size of the structures without padding.
- *
- * Structures that are defined by Microsoft to contain a zero-length array
- * are instead defined here to contain an array with one element, as
- * zero-length arrays are forbidden by standard C and C++. In these cases,
- * *_minsize constants are provided to be used in place of sizeof. For a
- * cleaner interface to these sizes when using C++, see minidump_size.h.
- *
- * These structures are also sufficient to populate minidump files.
- *
- * Because precise data type sizes are crucial for this implementation to
- * function properly and portably, a set of primitive types with known sizes
- * are used as the basis of each structure defined by this file.
- *
- * Author: Chris Dearman
- */
-
-/*
- * MIPS support
- */
-
-#ifndef GOOGLE_BREAKPAD_COMMON_MINIDUMP_CPU_MIPS_H__
-#define GOOGLE_BREAKPAD_COMMON_MINIDUMP_CPU_MIPS_H__
-
-#define MD_CONTEXT_MIPS_GPR_COUNT 32
-#define MD_FLOATINGSAVEAREA_MIPS_FPR_COUNT 32
-#define MD_CONTEXT_MIPS_DSP_COUNT 3
-
-/*
- * Note that these structures *do not* map directly to the CONTEXT
- * structure defined in WinNT.h in the Windows Mobile SDK. That structure
- * does not accomodate VFPv3, and I'm unsure if it was ever used in the
- * wild anyway, as Windows CE only seems to produce "cedumps" which
- * are not exactly minidumps.
- */
-typedef struct {
- /* 32 64-bit floating point registers, f0..f31 */
- uint64_t regs[MD_FLOATINGSAVEAREA_MIPS_FPR_COUNT];
-
- uint32_t fpcsr; /* FPU status register. */
- uint32_t fir; /* FPU implementation register. */
-} MDFloatingSaveAreaMIPS;
-
-typedef struct {
- /* The next field determines the layout of the structure, and which parts
- * of it are populated.
- */
- uint32_t context_flags;
- uint32_t _pad0;
-
- /* 32 64-bit integer registers, r0..r31.
- * Note the following fixed uses:
- * r29 is the stack pointer.
- * r31 is the return address.
- */
- uint64_t iregs[MD_CONTEXT_MIPS_GPR_COUNT];
-
- /* multiply/divide result. */
- uint64_t mdhi, mdlo;
-
- /* DSP accumulators. */
- uint32_t hi[MD_CONTEXT_MIPS_DSP_COUNT];
- uint32_t lo[MD_CONTEXT_MIPS_DSP_COUNT];
- uint32_t dsp_control;
- uint32_t _pad1;
-
- uint64_t epc;
- uint64_t badvaddr;
- uint32_t status;
- uint32_t cause;
-
- /* The next field is included with MD_CONTEXT_MIPS_FLOATING_POINT. */
- MDFloatingSaveAreaMIPS float_save;
-
-} MDRawContextMIPS;
-
-/* Indices into iregs for registers with a dedicated or conventional
- * purpose.
- */
-enum MDMIPSRegisterNumbers {
- MD_CONTEXT_MIPS_REG_S0 = 16,
- MD_CONTEXT_MIPS_REG_S1 = 17,
- MD_CONTEXT_MIPS_REG_S2 = 18,
- MD_CONTEXT_MIPS_REG_S3 = 19,
- MD_CONTEXT_MIPS_REG_S4 = 20,
- MD_CONTEXT_MIPS_REG_S5 = 21,
- MD_CONTEXT_MIPS_REG_S6 = 22,
- MD_CONTEXT_MIPS_REG_S7 = 23,
- MD_CONTEXT_MIPS_REG_GP = 28,
- MD_CONTEXT_MIPS_REG_SP = 29,
- MD_CONTEXT_MIPS_REG_FP = 30,
- MD_CONTEXT_MIPS_REG_RA = 31,
-};
-
-/* For (MDRawContextMIPS).context_flags. These values indicate the type of
- * context stored in the structure. */
-/* CONTEXT_MIPS from the Windows CE 5.0 SDK. This value isn't correct
- * because this bit can be used for flags. Presumably this value was
- * never actually used in minidumps, but only in "CEDumps" which
- * are a whole parallel minidump file format for Windows CE.
- * Therefore, Breakpad defines its own value for MIPS CPUs.
- */
-#define MD_CONTEXT_MIPS 0x00040000
-#define MD_CONTEXT_MIPS_INTEGER (MD_CONTEXT_MIPS | 0x00000002)
-#define MD_CONTEXT_MIPS_FLOATING_POINT (MD_CONTEXT_MIPS | 0x00000004)
-#define MD_CONTEXT_MIPS_DSP (MD_CONTEXT_MIPS | 0x00000008)
-
-#define MD_CONTEXT_MIPS_FULL (MD_CONTEXT_MIPS_INTEGER | \
- MD_CONTEXT_MIPS_FLOATING_POINT | \
- MD_CONTEXT_MIPS_DSP)
-
-#define MD_CONTEXT_MIPS_ALL (MD_CONTEXT_MIPS_INTEGER | \
- MD_CONTEXT_MIPS_FLOATING_POINT \
- MD_CONTEXT_MIPS_DSP)
-
-/**
- * Breakpad defines for MIPS64
- */
-#define MD_CONTEXT_MIPS64 0x00080000
-#define MD_CONTEXT_MIPS64_INTEGER (MD_CONTEXT_MIPS64 | 0x00000002)
-#define MD_CONTEXT_MIPS64_FLOATING_POINT (MD_CONTEXT_MIPS64 | 0x00000004)
-#define MD_CONTEXT_MIPS64_DSP (MD_CONTEXT_MIPS64 | 0x00000008)
-
-#define MD_CONTEXT_MIPS64_FULL (MD_CONTEXT_MIPS64_INTEGER | \
- MD_CONTEXT_MIPS64_FLOATING_POINT | \
- MD_CONTEXT_MIPS64_DSP)
-
-#define MD_CONTEXT_MIPS64_ALL (MD_CONTEXT_MIPS64_INTEGER | \
- MD_CONTEXT_MIPS64_FLOATING_POINT \
- MD_CONTEXT_MIPS64_DSP)
-
-#endif // GOOGLE_BREAKPAD_COMMON_MINIDUMP_CPU_MIPS_H__
diff --git a/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_cpu_ppc.h b/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_cpu_ppc.h
deleted file mode 100644
index b24cc4243..000000000
--- a/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_cpu_ppc.h
+++ /dev/null
@@ -1,168 +0,0 @@
-/* Copyright (c) 2006, Google Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
-
-/* minidump_format.h: A cross-platform reimplementation of minidump-related
- * portions of DbgHelp.h from the Windows Platform SDK.
- *
- * (This is C99 source, please don't corrupt it with C++.)
- *
- * This file contains the necessary definitions to read minidump files
- * produced on ppc. These files may be read on any platform provided
- * that the alignments of these structures on the processing system are
- * identical to the alignments of these structures on the producing system.
- * For this reason, precise-sized types are used. The structures defined
- * by this file have been laid out to minimize alignment problems by ensuring
- * ensuring that all members are aligned on their natural boundaries. In
- * In some cases, tail-padding may be significant when different ABIs specify
- * different tail-padding behaviors. To avoid problems when reading or
- * writing affected structures, MD_*_SIZE macros are provided where needed,
- * containing the useful size of the structures without padding.
- *
- * Structures that are defined by Microsoft to contain a zero-length array
- * are instead defined here to contain an array with one element, as
- * zero-length arrays are forbidden by standard C and C++. In these cases,
- * *_minsize constants are provided to be used in place of sizeof. For a
- * cleaner interface to these sizes when using C++, see minidump_size.h.
- *
- * These structures are also sufficient to populate minidump files.
- *
- * These definitions may be extended to support handling minidump files
- * for other CPUs and other operating systems.
- *
- * Because precise data type sizes are crucial for this implementation to
- * function properly and portably in terms of interoperability with minidumps
- * produced by DbgHelp on Windows, a set of primitive types with known sizes
- * are used as the basis of each structure defined by this file. DbgHelp
- * on Windows is assumed to be the reference implementation; this file
- * seeks to provide a cross-platform compatible implementation. To avoid
- * collisions with the types and values defined and used by DbgHelp in the
- * event that this implementation is used on Windows, each type and value
- * defined here is given a new name, beginning with "MD". Names of the
- * equivalent types and values in the Windows Platform SDK are given in
- * comments.
- *
- * Author: Mark Mentovai
- * Change to split into its own file: Neal Sidhwaney */
-
-/*
- * Breakpad minidump extension for PowerPC support. Based on Darwin/Mac OS X'
- * mach/ppc/_types.h
- */
-
-#ifndef GOOGLE_BREAKPAD_COMMON_MINIDUMP_CPU_PPC_H__
-#define GOOGLE_BREAKPAD_COMMON_MINIDUMP_CPU_PPC_H__
-
-#define MD_FLOATINGSAVEAREA_PPC_FPR_COUNT 32
-
-typedef struct {
- /* fpregs is a double[32] in mach/ppc/_types.h, but a uint64_t is used
- * here for precise sizing. */
- uint64_t fpregs[MD_FLOATINGSAVEAREA_PPC_FPR_COUNT];
- uint32_t fpscr_pad;
- uint32_t fpscr; /* Status/control */
-} MDFloatingSaveAreaPPC; /* Based on ppc_float_state */
-
-
-#define MD_VECTORSAVEAREA_PPC_VR_COUNT 32
-
-typedef struct {
- /* Vector registers (including vscr) are 128 bits, but mach/ppc/_types.h
- * exposes them as four 32-bit quantities. */
- uint128_struct save_vr[MD_VECTORSAVEAREA_PPC_VR_COUNT];
- uint128_struct save_vscr; /* Status/control */
- uint32_t save_pad5[4];
- uint32_t save_vrvalid; /* Indicates which vector registers are saved */
- uint32_t save_pad6[7];
-} MDVectorSaveAreaPPC; /* ppc_vector_state */
-
-
-#define MD_CONTEXT_PPC_GPR_COUNT 32
-
-/* Use the same 32-bit alignment when accessing this structure from 64-bit code
- * as is used natively in 32-bit code. #pragma pack is a MSVC extension
- * supported by gcc. */
-#if defined(__SUNPRO_C) || defined(__SUNPRO_CC)
-#pragma pack(4)
-#else
-#pragma pack(push, 4)
-#endif
-
-typedef struct {
- /* context_flags is not present in ppc_thread_state, but it aids
- * identification of MDRawContextPPC among other raw context types,
- * and it guarantees alignment when we get to float_save. */
- uint32_t context_flags;
-
- uint32_t srr0; /* Machine status save/restore: stores pc
- * (instruction) */
- uint32_t srr1; /* Machine status save/restore: stores msr
- * (ps, program/machine state) */
- /* ppc_thread_state contains 32 fields, r0 .. r31. Here, an array is
- * used for brevity. */
- uint32_t gpr[MD_CONTEXT_PPC_GPR_COUNT];
- uint32_t cr; /* Condition */
- uint32_t xer; /* Integer (fiXed-point) exception */
- uint32_t lr; /* Link */
- uint32_t ctr; /* Count */
- uint32_t mq; /* Multiply/Quotient (PPC 601, POWER only) */
- uint32_t vrsave; /* Vector save */
-
- /* float_save and vector_save aren't present in ppc_thread_state, but
- * are represented in separate structures that still define a thread's
- * context. */
- MDFloatingSaveAreaPPC float_save;
- MDVectorSaveAreaPPC vector_save;
-} MDRawContextPPC; /* Based on ppc_thread_state */
-
-/* Indices into gpr for registers with a dedicated or conventional purpose. */
-enum MDPPCRegisterNumbers {
- MD_CONTEXT_PPC_REG_SP = 1
-};
-
-#if defined(__SUNPRO_C) || defined(__SUNPRO_CC)
-#pragma pack(0)
-#else
-#pragma pack(pop)
-#endif
-
-/* For (MDRawContextPPC).context_flags. These values indicate the type of
- * context stored in the structure. MD_CONTEXT_PPC is Breakpad-defined. Its
- * value was chosen to avoid likely conflicts with MD_CONTEXT_* for other
- * CPUs. */
-#define MD_CONTEXT_PPC 0x20000000
-#define MD_CONTEXT_PPC_BASE (MD_CONTEXT_PPC | 0x00000001)
-#define MD_CONTEXT_PPC_FLOATING_POINT (MD_CONTEXT_PPC | 0x00000008)
-#define MD_CONTEXT_PPC_VECTOR (MD_CONTEXT_PPC | 0x00000020)
-
-#define MD_CONTEXT_PPC_FULL MD_CONTEXT_PPC_BASE
-#define MD_CONTEXT_PPC_ALL (MD_CONTEXT_PPC_FULL | \
- MD_CONTEXT_PPC_FLOATING_POINT | \
- MD_CONTEXT_PPC_VECTOR)
-
-#endif /* GOOGLE_BREAKPAD_COMMON_MINIDUMP_CPU_PPC_H__ */
diff --git a/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_cpu_ppc64.h b/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_cpu_ppc64.h
deleted file mode 100644
index 61f419386..000000000
--- a/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_cpu_ppc64.h
+++ /dev/null
@@ -1,134 +0,0 @@
-/* Copyright (c) 2008, Google Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
-
-/* minidump_format.h: A cross-platform reimplementation of minidump-related
- * portions of DbgHelp.h from the Windows Platform SDK.
- *
- * (This is C99 source, please don't corrupt it with C++.)
- *
- * This file contains the necessary definitions to read minidump files
- * produced on ppc64. These files may be read on any platform provided
- * that the alignments of these structures on the processing system are
- * identical to the alignments of these structures on the producing system.
- * For this reason, precise-sized types are used. The structures defined
- * by this file have been laid out to minimize alignment problems by ensuring
- * ensuring that all members are aligned on their natural boundaries. In
- * In some cases, tail-padding may be significant when different ABIs specify
- * different tail-padding behaviors. To avoid problems when reading or
- * writing affected structures, MD_*_SIZE macros are provided where needed,
- * containing the useful size of the structures without padding.
- *
- * Structures that are defined by Microsoft to contain a zero-length array
- * are instead defined here to contain an array with one element, as
- * zero-length arrays are forbidden by standard C and C++. In these cases,
- * *_minsize constants are provided to be used in place of sizeof. For a
- * cleaner interface to these sizes when using C++, see minidump_size.h.
- *
- * These structures are also sufficient to populate minidump files.
- *
- * These definitions may be extended to support handling minidump files
- * for other CPUs and other operating systems.
- *
- * Because precise data type sizes are crucial for this implementation to
- * function properly and portably in terms of interoperability with minidumps
- * produced by DbgHelp on Windows, a set of primitive types with known sizes
- * are used as the basis of each structure defined by this file. DbgHelp
- * on Windows is assumed to be the reference implementation; this file
- * seeks to provide a cross-platform compatible implementation. To avoid
- * collisions with the types and values defined and used by DbgHelp in the
- * event that this implementation is used on Windows, each type and value
- * defined here is given a new name, beginning with "MD". Names of the
- * equivalent types and values in the Windows Platform SDK are given in
- * comments.
- *
- * Author: Neal Sidhwaney */
-
-
-/*
- * Breakpad minidump extension for PPC64 support. Based on Darwin/Mac OS X'
- * mach/ppc/_types.h
- */
-
-#ifndef GOOGLE_BREAKPAD_COMMON_MINIDUMP_CPU_PPC64_H__
-#define GOOGLE_BREAKPAD_COMMON_MINIDUMP_CPU_PPC64_H__
-
-#include "minidump_cpu_ppc.h"
-
-// these types are the same in ppc64 & ppc
-typedef MDFloatingSaveAreaPPC MDFloatingSaveAreaPPC64;
-typedef MDVectorSaveAreaPPC MDVectorSaveAreaPPC64;
-
-#define MD_CONTEXT_PPC64_GPR_COUNT MD_CONTEXT_PPC_GPR_COUNT
-
-typedef struct {
- /* context_flags is not present in ppc_thread_state, but it aids
- * identification of MDRawContextPPC among other raw context types,
- * and it guarantees alignment when we get to float_save. */
- uint64_t context_flags;
-
- uint64_t srr0; /* Machine status save/restore: stores pc
- * (instruction) */
- uint64_t srr1; /* Machine status save/restore: stores msr
- * (ps, program/machine state) */
- /* ppc_thread_state contains 32 fields, r0 .. r31. Here, an array is
- * used for brevity. */
- uint64_t gpr[MD_CONTEXT_PPC64_GPR_COUNT];
- uint64_t cr; /* Condition */
- uint64_t xer; /* Integer (fiXed-point) exception */
- uint64_t lr; /* Link */
- uint64_t ctr; /* Count */
- uint64_t vrsave; /* Vector save */
-
- /* float_save and vector_save aren't present in ppc_thread_state, but
- * are represented in separate structures that still define a thread's
- * context. */
- MDFloatingSaveAreaPPC float_save;
- MDVectorSaveAreaPPC vector_save;
-} MDRawContextPPC64; /* Based on ppc_thread_state */
-
-/* Indices into gpr for registers with a dedicated or conventional purpose. */
-enum MDPPC64RegisterNumbers {
- MD_CONTEXT_PPC64_REG_SP = 1
-};
-
-/* For (MDRawContextPPC).context_flags. These values indicate the type of
- * context stored in the structure. MD_CONTEXT_PPC is Breakpad-defined. Its
- * value was chosen to avoid likely conflicts with MD_CONTEXT_* for other
- * CPUs. */
-#define MD_CONTEXT_PPC64 0x01000000
-#define MD_CONTEXT_PPC64_BASE (MD_CONTEXT_PPC64 | 0x00000001)
-#define MD_CONTEXT_PPC64_FLOATING_POINT (MD_CONTEXT_PPC64 | 0x00000008)
-#define MD_CONTEXT_PPC64_VECTOR (MD_CONTEXT_PPC64 | 0x00000020)
-
-#define MD_CONTEXT_PPC64_FULL MD_CONTEXT_PPC64_BASE
-#define MD_CONTEXT_PPC64_ALL (MD_CONTEXT_PPC64_FULL | \
- MD_CONTEXT_PPC64_FLOATING_POINT | \
- MD_CONTEXT_PPC64_VECTOR)
-
-#endif /* GOOGLE_BREAKPAD_COMMON_MINIDUMP_CPU_PPC64_H__ */
diff --git a/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_cpu_sparc.h b/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_cpu_sparc.h
deleted file mode 100644
index 95c08b174..000000000
--- a/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_cpu_sparc.h
+++ /dev/null
@@ -1,163 +0,0 @@
-/* Copyright (c) 2006, Google Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
-
-/* minidump_format.h: A cross-platform reimplementation of minidump-related
- * portions of DbgHelp.h from the Windows Platform SDK.
- *
- * (This is C99 source, please don't corrupt it with C++.)
- *
- * This file contains the necessary definitions to read minidump files
- * produced on sparc. These files may be read on any platform provided
- * that the alignments of these structures on the processing system are
- * identical to the alignments of these structures on the producing system.
- * For this reason, precise-sized types are used. The structures defined
- * by this file have been laid out to minimize alignment problems by ensuring
- * ensuring that all members are aligned on their natural boundaries. In
- * In some cases, tail-padding may be significant when different ABIs specify
- * different tail-padding behaviors. To avoid problems when reading or
- * writing affected structures, MD_*_SIZE macros are provided where needed,
- * containing the useful size of the structures without padding.
- *
- * Structures that are defined by Microsoft to contain a zero-length array
- * are instead defined here to contain an array with one element, as
- * zero-length arrays are forbidden by standard C and C++. In these cases,
- * *_minsize constants are provided to be used in place of sizeof. For a
- * cleaner interface to these sizes when using C++, see minidump_size.h.
- *
- * These structures are also sufficient to populate minidump files.
- *
- * These definitions may be extended to support handling minidump files
- * for other CPUs and other operating systems.
- *
- * Because precise data type sizes are crucial for this implementation to
- * function properly and portably in terms of interoperability with minidumps
- * produced by DbgHelp on Windows, a set of primitive types with known sizes
- * are used as the basis of each structure defined by this file. DbgHelp
- * on Windows is assumed to be the reference implementation; this file
- * seeks to provide a cross-platform compatible implementation. To avoid
- * collisions with the types and values defined and used by DbgHelp in the
- * event that this implementation is used on Windows, each type and value
- * defined here is given a new name, beginning with "MD". Names of the
- * equivalent types and values in the Windows Platform SDK are given in
- * comments.
- *
- * Author: Mark Mentovai
- * Change to split into its own file: Neal Sidhwaney */
-
-/*
- * SPARC support, see (solaris)sys/procfs_isa.h also
- */
-
-#ifndef GOOGLE_BREAKPAD_COMMON_MINIDUMP_CPU_SPARC_H__
-#define GOOGLE_BREAKPAD_COMMON_MINIDUMP_CPU_SPARC_H__
-
-#define MD_FLOATINGSAVEAREA_SPARC_FPR_COUNT 32
-
-typedef struct {
-
- /* FPU floating point regs */
- uint64_t regs[MD_FLOATINGSAVEAREA_SPARC_FPR_COUNT];
-
- uint64_t filler;
- uint64_t fsr; /* FPU status register */
-} MDFloatingSaveAreaSPARC; /* FLOATING_SAVE_AREA */
-
-#define MD_CONTEXT_SPARC_GPR_COUNT 32
-
-typedef struct {
- /* The next field determines the layout of the structure, and which parts
- * of it are populated
- */
- uint32_t context_flags;
- uint32_t flag_pad;
- /*
- * General register access (SPARC).
- * Don't confuse definitions here with definitions in <sys/regset.h>.
- * Registers are 32 bits for ILP32, 64 bits for LP64.
- * SPARC V7/V8 is for 32bit, SPARC V9 is for 64bit
- */
-
- /* 32 Integer working registers */
-
- /* g_r[0-7] global registers(g0-g7)
- * g_r[8-15] out registers(o0-o7)
- * g_r[16-23] local registers(l0-l7)
- * g_r[24-31] in registers(i0-i7)
- */
- uint64_t g_r[MD_CONTEXT_SPARC_GPR_COUNT];
-
- /* several control registers */
-
- /* Processor State register(PSR) for SPARC V7/V8
- * Condition Code register (CCR) for SPARC V9
- */
- uint64_t ccr;
-
- uint64_t pc; /* Program Counter register (PC) */
- uint64_t npc; /* Next Program Counter register (nPC) */
- uint64_t y; /* Y register (Y) */
-
- /* Address Space Identifier register (ASI) for SPARC V9
- * WIM for SPARC V7/V8
- */
- uint64_t asi;
-
- /* Floating-Point Registers State register (FPRS) for SPARC V9
- * TBR for for SPARC V7/V8
- */
- uint64_t fprs;
-
- /* The next field is included with MD_CONTEXT_SPARC_FLOATING_POINT */
- MDFloatingSaveAreaSPARC float_save;
-
-} MDRawContextSPARC; /* CONTEXT_SPARC */
-
-/* Indices into g_r for registers with a dedicated or conventional purpose. */
-enum MDSPARCRegisterNumbers {
- MD_CONTEXT_SPARC_REG_SP = 14
-};
-
-/* For (MDRawContextSPARC).context_flags. These values indicate the type of
- * context stored in the structure. MD_CONTEXT_SPARC is Breakpad-defined. Its
- * value was chosen to avoid likely conflicts with MD_CONTEXT_* for other
- * CPUs. */
-#define MD_CONTEXT_SPARC 0x10000000
-#define MD_CONTEXT_SPARC_CONTROL (MD_CONTEXT_SPARC | 0x00000001)
-#define MD_CONTEXT_SPARC_INTEGER (MD_CONTEXT_SPARC | 0x00000002)
-#define MD_CONTEXT_SAPARC_FLOATING_POINT (MD_CONTEXT_SPARC | 0x00000004)
-#define MD_CONTEXT_SAPARC_EXTRA (MD_CONTEXT_SPARC | 0x00000008)
-
-#define MD_CONTEXT_SPARC_FULL (MD_CONTEXT_SPARC_CONTROL | \
- MD_CONTEXT_SPARC_INTEGER)
-
-#define MD_CONTEXT_SPARC_ALL (MD_CONTEXT_SPARC_FULL | \
- MD_CONTEXT_SAPARC_FLOATING_POINT | \
- MD_CONTEXT_SAPARC_EXTRA)
-
-#endif /* GOOGLE_BREAKPAD_COMMON_MINIDUMP_CPU_SPARC_H__ */
diff --git a/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_cpu_x86.h b/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_cpu_x86.h
deleted file mode 100644
index e09cb7cb5..000000000
--- a/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_cpu_x86.h
+++ /dev/null
@@ -1,174 +0,0 @@
-/* Copyright (c) 2006, Google Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
-
-/* minidump_format.h: A cross-platform reimplementation of minidump-related
- * portions of DbgHelp.h from the Windows Platform SDK.
- *
- * (This is C99 source, please don't corrupt it with C++.)
- *
- * This file contains the necessary definitions to read minidump files
- * produced on x86. These files may be read on any platform provided
- * that the alignments of these structures on the processing system are
- * identical to the alignments of these structures on the producing system.
- * For this reason, precise-sized types are used. The structures defined
- * by this file have been laid out to minimize alignment problems by ensuring
- * ensuring that all members are aligned on their natural boundaries. In
- * In some cases, tail-padding may be significant when different ABIs specify
- * different tail-padding behaviors. To avoid problems when reading or
- * writing affected structures, MD_*_SIZE macros are provided where needed,
- * containing the useful size of the structures without padding.
- *
- * Structures that are defined by Microsoft to contain a zero-length array
- * are instead defined here to contain an array with one element, as
- * zero-length arrays are forbidden by standard C and C++. In these cases,
- * *_minsize constants are provided to be used in place of sizeof. For a
- * cleaner interface to these sizes when using C++, see minidump_size.h.
- *
- * These structures are also sufficient to populate minidump files.
- *
- * These definitions may be extended to support handling minidump files
- * for other CPUs and other operating systems.
- *
- * Because precise data type sizes are crucial for this implementation to
- * function properly and portably in terms of interoperability with minidumps
- * produced by DbgHelp on Windows, a set of primitive types with known sizes
- * are used as the basis of each structure defined by this file. DbgHelp
- * on Windows is assumed to be the reference implementation; this file
- * seeks to provide a cross-platform compatible implementation. To avoid
- * collisions with the types and values defined and used by DbgHelp in the
- * event that this implementation is used on Windows, each type and value
- * defined here is given a new name, beginning with "MD". Names of the
- * equivalent types and values in the Windows Platform SDK are given in
- * comments.
- *
- * Author: Mark Mentovai */
-
-#ifndef GOOGLE_BREAKPAD_COMMON_MINIDUMP_CPU_X86_H__
-#define GOOGLE_BREAKPAD_COMMON_MINIDUMP_CPU_X86_H__
-
-#define MD_FLOATINGSAVEAREA_X86_REGISTERAREA_SIZE 80
- /* SIZE_OF_80387_REGISTERS */
-
-typedef struct {
- uint32_t control_word;
- uint32_t status_word;
- uint32_t tag_word;
- uint32_t error_offset;
- uint32_t error_selector;
- uint32_t data_offset;
- uint32_t data_selector;
-
- /* register_area contains eight 80-bit (x87 "long double") quantities for
- * floating-point registers %st0 (%mm0) through %st7 (%mm7). */
- uint8_t register_area[MD_FLOATINGSAVEAREA_X86_REGISTERAREA_SIZE];
- uint32_t cr0_npx_state;
-} MDFloatingSaveAreaX86; /* FLOATING_SAVE_AREA */
-
-
-#define MD_CONTEXT_X86_EXTENDED_REGISTERS_SIZE 512
- /* MAXIMUM_SUPPORTED_EXTENSION */
-
-typedef struct {
- /* The next field determines the layout of the structure, and which parts
- * of it are populated */
- uint32_t context_flags;
-
- /* The next 6 registers are included with MD_CONTEXT_X86_DEBUG_REGISTERS */
- uint32_t dr0;
- uint32_t dr1;
- uint32_t dr2;
- uint32_t dr3;
- uint32_t dr6;
- uint32_t dr7;
-
- /* The next field is included with MD_CONTEXT_X86_FLOATING_POINT */
- MDFloatingSaveAreaX86 float_save;
-
- /* The next 4 registers are included with MD_CONTEXT_X86_SEGMENTS */
- uint32_t gs;
- uint32_t fs;
- uint32_t es;
- uint32_t ds;
- /* The next 6 registers are included with MD_CONTEXT_X86_INTEGER */
- uint32_t edi;
- uint32_t esi;
- uint32_t ebx;
- uint32_t edx;
- uint32_t ecx;
- uint32_t eax;
-
- /* The next 6 registers are included with MD_CONTEXT_X86_CONTROL */
- uint32_t ebp;
- uint32_t eip;
- uint32_t cs; /* WinNT.h says "must be sanitized" */
- uint32_t eflags; /* WinNT.h says "must be sanitized" */
- uint32_t esp;
- uint32_t ss;
-
- /* The next field is included with MD_CONTEXT_X86_EXTENDED_REGISTERS.
- * It contains vector (MMX/SSE) registers. It it laid out in the
- * format used by the fxsave and fsrstor instructions, so it includes
- * a copy of the x87 floating-point registers as well. See FXSAVE in
- * "Intel Architecture Software Developer's Manual, Volume 2." */
- uint8_t extended_registers[
- MD_CONTEXT_X86_EXTENDED_REGISTERS_SIZE];
-} MDRawContextX86; /* CONTEXT */
-
-/* For (MDRawContextX86).context_flags. These values indicate the type of
- * context stored in the structure. The high 24 bits identify the CPU, the
- * low 8 bits identify the type of context saved. */
-#define MD_CONTEXT_X86 0x00010000
- /* CONTEXT_i386, CONTEXT_i486: identifies CPU */
-#define MD_CONTEXT_X86_CONTROL (MD_CONTEXT_X86 | 0x00000001)
- /* CONTEXT_CONTROL */
-#define MD_CONTEXT_X86_INTEGER (MD_CONTEXT_X86 | 0x00000002)
- /* CONTEXT_INTEGER */
-#define MD_CONTEXT_X86_SEGMENTS (MD_CONTEXT_X86 | 0x00000004)
- /* CONTEXT_SEGMENTS */
-#define MD_CONTEXT_X86_FLOATING_POINT (MD_CONTEXT_X86 | 0x00000008)
- /* CONTEXT_FLOATING_POINT */
-#define MD_CONTEXT_X86_DEBUG_REGISTERS (MD_CONTEXT_X86 | 0x00000010)
- /* CONTEXT_DEBUG_REGISTERS */
-#define MD_CONTEXT_X86_EXTENDED_REGISTERS (MD_CONTEXT_X86 | 0x00000020)
- /* CONTEXT_EXTENDED_REGISTERS */
-#define MD_CONTEXT_X86_XSTATE (MD_CONTEXT_X86 | 0x00000040)
- /* CONTEXT_XSTATE */
-
-#define MD_CONTEXT_X86_FULL (MD_CONTEXT_X86_CONTROL | \
- MD_CONTEXT_X86_INTEGER | \
- MD_CONTEXT_X86_SEGMENTS)
- /* CONTEXT_FULL */
-
-#define MD_CONTEXT_X86_ALL (MD_CONTEXT_X86_FULL | \
- MD_CONTEXT_X86_FLOATING_POINT | \
- MD_CONTEXT_X86_DEBUG_REGISTERS | \
- MD_CONTEXT_X86_EXTENDED_REGISTERS)
- /* CONTEXT_ALL */
-
-#endif /* GOOGLE_BREAKPAD_COMMON_MINIDUMP_CPU_X86_H__ */
diff --git a/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_exception_linux.h b/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_exception_linux.h
deleted file mode 100644
index 9e7e4f1e1..000000000
--- a/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_exception_linux.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/* Copyright (c) 2006, Google Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
-
-/* minidump_exception_linux.h: A definition of exception codes for
- * Linux
- *
- * (This is C99 source, please don't corrupt it with C++.)
- *
- * Author: Mark Mentovai
- * Split into its own file: Neal Sidhwaney */
-
-
-#ifndef GOOGLE_BREAKPAD_COMMON_MINIDUMP_EXCEPTION_LINUX_H__
-#define GOOGLE_BREAKPAD_COMMON_MINIDUMP_EXCEPTION_LINUX_H__
-
-#include <stddef.h>
-
-#include "google_breakpad/common/breakpad_types.h"
-
-
-/* For (MDException).exception_code. These values come from bits/signum.h.
- */
-typedef enum {
- MD_EXCEPTION_CODE_LIN_SIGHUP = 1, /* Hangup (POSIX) */
- MD_EXCEPTION_CODE_LIN_SIGINT = 2, /* Interrupt (ANSI) */
- MD_EXCEPTION_CODE_LIN_SIGQUIT = 3, /* Quit (POSIX) */
- MD_EXCEPTION_CODE_LIN_SIGILL = 4, /* Illegal instruction (ANSI) */
- MD_EXCEPTION_CODE_LIN_SIGTRAP = 5, /* Trace trap (POSIX) */
- MD_EXCEPTION_CODE_LIN_SIGABRT = 6, /* Abort (ANSI) */
- MD_EXCEPTION_CODE_LIN_SIGBUS = 7, /* BUS error (4.2 BSD) */
- MD_EXCEPTION_CODE_LIN_SIGFPE = 8, /* Floating-point exception (ANSI) */
- MD_EXCEPTION_CODE_LIN_SIGKILL = 9, /* Kill, unblockable (POSIX) */
- MD_EXCEPTION_CODE_LIN_SIGUSR1 = 10, /* User-defined signal 1 (POSIX). */
- MD_EXCEPTION_CODE_LIN_SIGSEGV = 11, /* Segmentation violation (ANSI) */
- MD_EXCEPTION_CODE_LIN_SIGUSR2 = 12, /* User-defined signal 2 (POSIX) */
- MD_EXCEPTION_CODE_LIN_SIGPIPE = 13, /* Broken pipe (POSIX) */
- MD_EXCEPTION_CODE_LIN_SIGALRM = 14, /* Alarm clock (POSIX) */
- MD_EXCEPTION_CODE_LIN_SIGTERM = 15, /* Termination (ANSI) */
- MD_EXCEPTION_CODE_LIN_SIGSTKFLT = 16, /* Stack faultd */
- MD_EXCEPTION_CODE_LIN_SIGCHLD = 17, /* Child status has changed (POSIX) */
- MD_EXCEPTION_CODE_LIN_SIGCONT = 18, /* Continue (POSIX) */
- MD_EXCEPTION_CODE_LIN_SIGSTOP = 19, /* Stop, unblockable (POSIX) */
- MD_EXCEPTION_CODE_LIN_SIGTSTP = 20, /* Keyboard stop (POSIX) */
- MD_EXCEPTION_CODE_LIN_SIGTTIN = 21, /* Background read from tty (POSIX) */
- MD_EXCEPTION_CODE_LIN_SIGTTOU = 22, /* Background write to tty (POSIX) */
- MD_EXCEPTION_CODE_LIN_SIGURG = 23,
- /* Urgent condition on socket (4.2 BSD) */
- MD_EXCEPTION_CODE_LIN_SIGXCPU = 24, /* CPU limit exceeded (4.2 BSD) */
- MD_EXCEPTION_CODE_LIN_SIGXFSZ = 25,
- /* File size limit exceeded (4.2 BSD) */
- MD_EXCEPTION_CODE_LIN_SIGVTALRM = 26, /* Virtual alarm clock (4.2 BSD) */
- MD_EXCEPTION_CODE_LIN_SIGPROF = 27, /* Profiling alarm clock (4.2 BSD) */
- MD_EXCEPTION_CODE_LIN_SIGWINCH = 28, /* Window size change (4.3 BSD, Sun) */
- MD_EXCEPTION_CODE_LIN_SIGIO = 29, /* I/O now possible (4.2 BSD) */
- MD_EXCEPTION_CODE_LIN_SIGPWR = 30, /* Power failure restart (System V) */
- MD_EXCEPTION_CODE_LIN_SIGSYS = 31, /* Bad system call */
- MD_EXCEPTION_CODE_LIN_DUMP_REQUESTED = 0xFFFFFFFF /* No exception,
- dump requested. */
-} MDExceptionCodeLinux;
-
-#endif /* GOOGLE_BREAKPAD_COMMON_MINIDUMP_EXCEPTION_LINUX_H__ */
diff --git a/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_exception_mac.h b/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_exception_mac.h
deleted file mode 100644
index 91c1c0974..000000000
--- a/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_exception_mac.h
+++ /dev/null
@@ -1,205 +0,0 @@
-/* Copyright (c) 2006, Google Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
-
-/* minidump_exception_mac.h: A definition of exception codes for Mac
- * OS X
- *
- * (This is C99 source, please don't corrupt it with C++.)
- *
- * Author: Mark Mentovai
- * Split into its own file: Neal Sidhwaney */
-
-
-#ifndef GOOGLE_BREAKPAD_COMMON_MINIDUMP_EXCEPTION_MAC_H__
-#define GOOGLE_BREAKPAD_COMMON_MINIDUMP_EXCEPTION_MAC_H__
-
-#include <stddef.h>
-
-#include "google_breakpad/common/breakpad_types.h"
-
-/* For (MDException).exception_code. Breakpad minidump extension for Mac OS X
- * support. Based on Darwin/Mac OS X' mach/exception_types.h. This is
- * what Mac OS X calls an "exception", not a "code". */
-typedef enum {
- /* Exception code. The high 16 bits of exception_code contains one of
- * these values. */
- MD_EXCEPTION_MAC_BAD_ACCESS = 1, /* code can be a kern_return_t */
- /* EXC_BAD_ACCESS */
- MD_EXCEPTION_MAC_BAD_INSTRUCTION = 2, /* code is CPU-specific */
- /* EXC_BAD_INSTRUCTION */
- MD_EXCEPTION_MAC_ARITHMETIC = 3, /* code is CPU-specific */
- /* EXC_ARITHMETIC */
- MD_EXCEPTION_MAC_EMULATION = 4, /* code is CPU-specific */
- /* EXC_EMULATION */
- MD_EXCEPTION_MAC_SOFTWARE = 5,
- /* EXC_SOFTWARE */
- MD_EXCEPTION_MAC_BREAKPOINT = 6, /* code is CPU-specific */
- /* EXC_BREAKPOINT */
- MD_EXCEPTION_MAC_SYSCALL = 7,
- /* EXC_SYSCALL */
- MD_EXCEPTION_MAC_MACH_SYSCALL = 8,
- /* EXC_MACH_SYSCALL */
- MD_EXCEPTION_MAC_RPC_ALERT = 9
- /* EXC_RPC_ALERT */
-} MDExceptionMac;
-
-/* For (MDException).exception_flags. Breakpad minidump extension for Mac OS X
- * support. Based on Darwin/Mac OS X' mach/ppc/exception.h and
- * mach/i386/exception.h. This is what Mac OS X calls a "code". */
-typedef enum {
- /* With MD_EXCEPTION_BAD_ACCESS. These are relevant kern_return_t values
- * from mach/kern_return.h. */
- MD_EXCEPTION_CODE_MAC_INVALID_ADDRESS = 1,
- /* KERN_INVALID_ADDRESS */
- MD_EXCEPTION_CODE_MAC_PROTECTION_FAILURE = 2,
- /* KERN_PROTECTION_FAILURE */
- MD_EXCEPTION_CODE_MAC_NO_ACCESS = 8,
- /* KERN_NO_ACCESS */
- MD_EXCEPTION_CODE_MAC_MEMORY_FAILURE = 9,
- /* KERN_MEMORY_FAILURE */
- MD_EXCEPTION_CODE_MAC_MEMORY_ERROR = 10,
- /* KERN_MEMORY_ERROR */
-
- /* With MD_EXCEPTION_SOFTWARE */
- MD_EXCEPTION_CODE_MAC_BAD_SYSCALL = 0x00010000, /* Mach SIGSYS */
- MD_EXCEPTION_CODE_MAC_BAD_PIPE = 0x00010001, /* Mach SIGPIPE */
- MD_EXCEPTION_CODE_MAC_ABORT = 0x00010002, /* Mach SIGABRT */
- /* Custom values */
- MD_EXCEPTION_CODE_MAC_NS_EXCEPTION = 0xDEADC0DE, /* uncaught NSException */
-
- /* With MD_EXCEPTION_MAC_BAD_ACCESS on arm */
- MD_EXCEPTION_CODE_MAC_ARM_DA_ALIGN = 0x0101, /* EXC_ARM_DA_ALIGN */
- MD_EXCEPTION_CODE_MAC_ARM_DA_DEBUG = 0x0102, /* EXC_ARM_DA_DEBUG */
-
- /* With MD_EXCEPTION_MAC_BAD_INSTRUCTION on arm */
- MD_EXCEPTION_CODE_MAC_ARM_UNDEFINED = 1, /* EXC_ARM_UNDEFINED */
-
- /* With MD_EXCEPTION_MAC_BREAKPOINT on arm */
- MD_EXCEPTION_CODE_MAC_ARM_BREAKPOINT = 1, /* EXC_ARM_BREAKPOINT */
-
- /* With MD_EXCEPTION_MAC_BAD_ACCESS on ppc */
- MD_EXCEPTION_CODE_MAC_PPC_VM_PROT_READ = 0x0101,
- /* EXC_PPC_VM_PROT_READ */
- MD_EXCEPTION_CODE_MAC_PPC_BADSPACE = 0x0102,
- /* EXC_PPC_BADSPACE */
- MD_EXCEPTION_CODE_MAC_PPC_UNALIGNED = 0x0103,
- /* EXC_PPC_UNALIGNED */
-
- /* With MD_EXCEPTION_MAC_BAD_INSTRUCTION on ppc */
- MD_EXCEPTION_CODE_MAC_PPC_INVALID_SYSCALL = 1,
- /* EXC_PPC_INVALID_SYSCALL */
- MD_EXCEPTION_CODE_MAC_PPC_UNIMPLEMENTED_INSTRUCTION = 2,
- /* EXC_PPC_UNIPL_INST */
- MD_EXCEPTION_CODE_MAC_PPC_PRIVILEGED_INSTRUCTION = 3,
- /* EXC_PPC_PRIVINST */
- MD_EXCEPTION_CODE_MAC_PPC_PRIVILEGED_REGISTER = 4,
- /* EXC_PPC_PRIVREG */
- MD_EXCEPTION_CODE_MAC_PPC_TRACE = 5,
- /* EXC_PPC_TRACE */
- MD_EXCEPTION_CODE_MAC_PPC_PERFORMANCE_MONITOR = 6,
- /* EXC_PPC_PERFMON */
-
- /* With MD_EXCEPTION_MAC_ARITHMETIC on ppc */
- MD_EXCEPTION_CODE_MAC_PPC_OVERFLOW = 1,
- /* EXC_PPC_OVERFLOW */
- MD_EXCEPTION_CODE_MAC_PPC_ZERO_DIVIDE = 2,
- /* EXC_PPC_ZERO_DIVIDE */
- MD_EXCEPTION_CODE_MAC_PPC_FLOAT_INEXACT = 3,
- /* EXC_FLT_INEXACT */
- MD_EXCEPTION_CODE_MAC_PPC_FLOAT_ZERO_DIVIDE = 4,
- /* EXC_PPC_FLT_ZERO_DIVIDE */
- MD_EXCEPTION_CODE_MAC_PPC_FLOAT_UNDERFLOW = 5,
- /* EXC_PPC_FLT_UNDERFLOW */
- MD_EXCEPTION_CODE_MAC_PPC_FLOAT_OVERFLOW = 6,
- /* EXC_PPC_FLT_OVERFLOW */
- MD_EXCEPTION_CODE_MAC_PPC_FLOAT_NOT_A_NUMBER = 7,
- /* EXC_PPC_FLT_NOT_A_NUMBER */
-
- /* With MD_EXCEPTION_MAC_EMULATION on ppc */
- MD_EXCEPTION_CODE_MAC_PPC_NO_EMULATION = 8,
- /* EXC_PPC_NOEMULATION */
- MD_EXCEPTION_CODE_MAC_PPC_ALTIVEC_ASSIST = 9,
- /* EXC_PPC_ALTIVECASSIST */
-
- /* With MD_EXCEPTION_MAC_SOFTWARE on ppc */
- MD_EXCEPTION_CODE_MAC_PPC_TRAP = 0x00000001, /* EXC_PPC_TRAP */
- MD_EXCEPTION_CODE_MAC_PPC_MIGRATE = 0x00010100, /* EXC_PPC_MIGRATE */
-
- /* With MD_EXCEPTION_MAC_BREAKPOINT on ppc */
- MD_EXCEPTION_CODE_MAC_PPC_BREAKPOINT = 1, /* EXC_PPC_BREAKPOINT */
-
- /* With MD_EXCEPTION_MAC_BAD_INSTRUCTION on x86, see also x86 interrupt
- * values below. */
- MD_EXCEPTION_CODE_MAC_X86_INVALID_OPERATION = 1, /* EXC_I386_INVOP */
-
- /* With MD_EXCEPTION_MAC_ARITHMETIC on x86 */
- MD_EXCEPTION_CODE_MAC_X86_DIV = 1, /* EXC_I386_DIV */
- MD_EXCEPTION_CODE_MAC_X86_INTO = 2, /* EXC_I386_INTO */
- MD_EXCEPTION_CODE_MAC_X86_NOEXT = 3, /* EXC_I386_NOEXT */
- MD_EXCEPTION_CODE_MAC_X86_EXTOVR = 4, /* EXC_I386_EXTOVR */
- MD_EXCEPTION_CODE_MAC_X86_EXTERR = 5, /* EXC_I386_EXTERR */
- MD_EXCEPTION_CODE_MAC_X86_EMERR = 6, /* EXC_I386_EMERR */
- MD_EXCEPTION_CODE_MAC_X86_BOUND = 7, /* EXC_I386_BOUND */
- MD_EXCEPTION_CODE_MAC_X86_SSEEXTERR = 8, /* EXC_I386_SSEEXTERR */
-
- /* With MD_EXCEPTION_MAC_BREAKPOINT on x86 */
- MD_EXCEPTION_CODE_MAC_X86_SGL = 1, /* EXC_I386_SGL */
- MD_EXCEPTION_CODE_MAC_X86_BPT = 2, /* EXC_I386_BPT */
-
- /* With MD_EXCEPTION_MAC_BAD_INSTRUCTION on x86. These are the raw
- * x86 interrupt codes. Most of these are mapped to other Mach
- * exceptions and codes, are handled, or should not occur in user space.
- * A few of these will do occur with MD_EXCEPTION_MAC_BAD_INSTRUCTION. */
- /* EXC_I386_DIVERR = 0: mapped to EXC_ARITHMETIC/EXC_I386_DIV */
- /* EXC_I386_SGLSTP = 1: mapped to EXC_BREAKPOINT/EXC_I386_SGL */
- /* EXC_I386_NMIFLT = 2: should not occur in user space */
- /* EXC_I386_BPTFLT = 3: mapped to EXC_BREAKPOINT/EXC_I386_BPT */
- /* EXC_I386_INTOFLT = 4: mapped to EXC_ARITHMETIC/EXC_I386_INTO */
- /* EXC_I386_BOUNDFLT = 5: mapped to EXC_ARITHMETIC/EXC_I386_BOUND */
- /* EXC_I386_INVOPFLT = 6: mapped to EXC_BAD_INSTRUCTION/EXC_I386_INVOP */
- /* EXC_I386_NOEXTFLT = 7: should be handled by the kernel */
- /* EXC_I386_DBLFLT = 8: should be handled (if possible) by the kernel */
- /* EXC_I386_EXTOVRFLT = 9: mapped to EXC_BAD_ACCESS/(PROT_READ|PROT_EXEC) */
- MD_EXCEPTION_CODE_MAC_X86_INVALID_TASK_STATE_SEGMENT = 10,
- /* EXC_INVTSSFLT */
- MD_EXCEPTION_CODE_MAC_X86_SEGMENT_NOT_PRESENT = 11,
- /* EXC_SEGNPFLT */
- MD_EXCEPTION_CODE_MAC_X86_STACK_FAULT = 12,
- /* EXC_STKFLT */
- MD_EXCEPTION_CODE_MAC_X86_GENERAL_PROTECTION_FAULT = 13,
- /* EXC_GPFLT */
- /* EXC_I386_PGFLT = 14: should not occur in user space */
- /* EXC_I386_EXTERRFLT = 16: mapped to EXC_ARITHMETIC/EXC_I386_EXTERR */
- MD_EXCEPTION_CODE_MAC_X86_ALIGNMENT_FAULT = 17
- /* EXC_ALIGNFLT (for vector operations) */
- /* EXC_I386_ENOEXTFLT = 32: should be handled by the kernel */
- /* EXC_I386_ENDPERR = 33: should not occur */
-} MDExceptionCodeMac;
-
-#endif /* GOOGLE_BREAKPAD_COMMON_MINIDUMP_EXCEPTION_MAC_OSX_H__ */
diff --git a/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_exception_ps3.h b/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_exception_ps3.h
deleted file mode 100644
index adff5a6bb..000000000
--- a/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_exception_ps3.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/* Copyright (c) 2013, Google Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
-
-/* minidump_exception_ps3.h: A definition of exception codes for
- * PS3 */
-
-
-#ifndef GOOGLE_BREAKPAD_COMMON_MINIDUMP_EXCEPTION_PS3_H__
-#define GOOGLE_BREAKPAD_COMMON_MINIDUMP_EXCEPTION_PS3_H__
-
-#include <stddef.h>
-
-#include "google_breakpad/common/breakpad_types.h"
-
-typedef enum {
- MD_EXCEPTION_CODE_PS3_UNKNOWN = 0,
- MD_EXCEPTION_CODE_PS3_TRAP_EXCEP = 1,
- MD_EXCEPTION_CODE_PS3_PRIV_INSTR = 2,
- MD_EXCEPTION_CODE_PS3_ILLEGAL_INSTR = 3,
- MD_EXCEPTION_CODE_PS3_INSTR_STORAGE = 4,
- MD_EXCEPTION_CODE_PS3_INSTR_SEGMENT = 5,
- MD_EXCEPTION_CODE_PS3_DATA_STORAGE = 6,
- MD_EXCEPTION_CODE_PS3_DATA_SEGMENT = 7,
- MD_EXCEPTION_CODE_PS3_FLOAT_POINT = 8,
- MD_EXCEPTION_CODE_PS3_DABR_MATCH = 9,
- MD_EXCEPTION_CODE_PS3_ALIGN_EXCEP = 10,
- MD_EXCEPTION_CODE_PS3_MEMORY_ACCESS = 11,
- MD_EXCEPTION_CODE_PS3_COPRO_ALIGN = 12,
- MD_EXCEPTION_CODE_PS3_COPRO_INVALID_COM = 13,
- MD_EXCEPTION_CODE_PS3_COPRO_ERR = 14,
- MD_EXCEPTION_CODE_PS3_COPRO_FIR = 15,
- MD_EXCEPTION_CODE_PS3_COPRO_DATA_SEGMENT = 16,
- MD_EXCEPTION_CODE_PS3_COPRO_DATA_STORAGE = 17,
- MD_EXCEPTION_CODE_PS3_COPRO_STOP_INSTR = 18,
- MD_EXCEPTION_CODE_PS3_COPRO_HALT_INSTR = 19,
- MD_EXCEPTION_CODE_PS3_COPRO_HALTINST_UNKNOWN = 20,
- MD_EXCEPTION_CODE_PS3_COPRO_MEMORY_ACCESS = 21,
- MD_EXCEPTION_CODE_PS3_GRAPHIC = 22
-} MDExceptionCodePS3;
-
-#endif /* GOOGLE_BREAKPAD_COMMON_MINIDUMP_EXCEPTION_PS3_H__ */
diff --git a/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_exception_solaris.h b/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_exception_solaris.h
deleted file mode 100644
index f18ddf424..000000000
--- a/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_exception_solaris.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/* Copyright (c) 2006, Google Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
-
-/* minidump_exception_solaris.h: A definition of exception codes for
- * Solaris
- *
- * (This is C99 source, please don't corrupt it with C++.)
- *
- * Author: Mark Mentovai
- * Split into its own file: Neal Sidhwaney */
-
-
-#ifndef GOOGLE_BREAKPAD_COMMON_MINIDUMP_EXCEPTION_SOLARIS_H__
-#define GOOGLE_BREAKPAD_COMMON_MINIDUMP_EXCEPTION_SOLARIS_H__
-
-#include <stddef.h>
-
-#include "google_breakpad/common/breakpad_types.h"
-
-/* For (MDException).exception_code. These values come from sys/iso/signal_iso.h
- */
-typedef enum {
- MD_EXCEPTION_CODE_SOL_SIGHUP = 1, /* Hangup */
- MD_EXCEPTION_CODE_SOL_SIGINT = 2, /* interrupt (rubout) */
- MD_EXCEPTION_CODE_SOL_SIGQUIT = 3, /* quit (ASCII FS) */
- MD_EXCEPTION_CODE_SOL_SIGILL = 4, /* illegal instruction (not reset when caught) */
- MD_EXCEPTION_CODE_SOL_SIGTRAP = 5, /* trace trap (not reset when caught) */
- MD_EXCEPTION_CODE_SOL_SIGIOT = 6, /* IOT instruction */
- MD_EXCEPTION_CODE_SOL_SIGABRT = 6, /* used by abort, replace SIGIOT in the future */
- MD_EXCEPTION_CODE_SOL_SIGEMT = 7, /* EMT instruction */
- MD_EXCEPTION_CODE_SOL_SIGFPE = 8, /* floating point exception */
- MD_EXCEPTION_CODE_SOL_SIGKILL = 9, /* kill (cannot be caught or ignored) */
- MD_EXCEPTION_CODE_SOL_SIGBUS = 10, /* bus error */
- MD_EXCEPTION_CODE_SOL_SIGSEGV = 11, /* segmentation violation */
- MD_EXCEPTION_CODE_SOL_SIGSYS = 12, /* bad argument to system call */
- MD_EXCEPTION_CODE_SOL_SIGPIPE = 13, /* write on a pipe with no one to read it */
- MD_EXCEPTION_CODE_SOL_SIGALRM = 14, /* alarm clock */
- MD_EXCEPTION_CODE_SOL_SIGTERM = 15, /* software termination signal from kill */
- MD_EXCEPTION_CODE_SOL_SIGUSR1 = 16, /* user defined signal 1 */
- MD_EXCEPTION_CODE_SOL_SIGUSR2 = 17, /* user defined signal 2 */
- MD_EXCEPTION_CODE_SOL_SIGCLD = 18, /* child status change */
- MD_EXCEPTION_CODE_SOL_SIGCHLD = 18, /* child status change alias (POSIX) */
- MD_EXCEPTION_CODE_SOL_SIGPWR = 19, /* power-fail restart */
- MD_EXCEPTION_CODE_SOL_SIGWINCH = 20, /* window size change */
- MD_EXCEPTION_CODE_SOL_SIGURG = 21, /* urgent socket condition */
- MD_EXCEPTION_CODE_SOL_SIGPOLL = 22, /* pollable event occurred */
- MD_EXCEPTION_CODE_SOL_SIGIO = 22, /* socket I/O possible (SIGPOLL alias) */
- MD_EXCEPTION_CODE_SOL_SIGSTOP = 23, /* stop (cannot be caught or ignored) */
- MD_EXCEPTION_CODE_SOL_SIGTSTP = 24, /* user stop requested from tty */
- MD_EXCEPTION_CODE_SOL_SIGCONT = 25, /* stopped process has been continued */
- MD_EXCEPTION_CODE_SOL_SIGTTIN = 26, /* background tty read attempted */
- MD_EXCEPTION_CODE_SOL_SIGTTOU = 27, /* background tty write attempted */
- MD_EXCEPTION_CODE_SOL_SIGVTALRM = 28, /* virtual timer expired */
- MD_EXCEPTION_CODE_SOL_SIGPROF = 29, /* profiling timer expired */
- MD_EXCEPTION_CODE_SOL_SIGXCPU = 30, /* exceeded cpu limit */
- MD_EXCEPTION_CODE_SOL_SIGXFSZ = 31, /* exceeded file size limit */
- MD_EXCEPTION_CODE_SOL_SIGWAITING = 32, /* reserved signal no longer used by threading code */
- MD_EXCEPTION_CODE_SOL_SIGLWP = 33, /* reserved signal no longer used by threading code */
- MD_EXCEPTION_CODE_SOL_SIGFREEZE = 34, /* special signal used by CPR */
- MD_EXCEPTION_CODE_SOL_SIGTHAW = 35, /* special signal used by CPR */
- MD_EXCEPTION_CODE_SOL_SIGCANCEL = 36, /* reserved signal for thread cancellation */
- MD_EXCEPTION_CODE_SOL_SIGLOST = 37, /* resource lost (eg, record-lock lost) */
- MD_EXCEPTION_CODE_SOL_SIGXRES = 38, /* resource control exceeded */
- MD_EXCEPTION_CODE_SOL_SIGJVM1 = 39, /* reserved signal for Java Virtual Machine */
- MD_EXCEPTION_CODE_SOL_SIGJVM2 = 40 /* reserved signal for Java Virtual Machine */
-} MDExceptionCodeSolaris;
-
-#endif /* GOOGLE_BREAKPAD_COMMON_MINIDUMP_EXCEPTION_SOLARIS_H__ */
diff --git a/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_exception_win32.h b/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_exception_win32.h
deleted file mode 100644
index 6fa3fba44..000000000
--- a/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_exception_win32.h
+++ /dev/null
@@ -1,2264 +0,0 @@
-/* Copyright (c) 2006, Google Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
-
-/* minidump_exception_win32.h: Definitions of exception codes for
- * Win32 platform
- *
- * (This is C99 source, please don't corrupt it with C++.)
- *
- * Author: Mark Mentovai
- * Split into its own file: Neal Sidhwaney */
-
-
-#ifndef GOOGLE_BREAKPAD_COMMON_MINIDUMP_EXCEPTION_WIN32_H__
-#define GOOGLE_BREAKPAD_COMMON_MINIDUMP_EXCEPTION_WIN32_H__
-
-#include <stddef.h>
-
-#include "google_breakpad/common/breakpad_types.h"
-
-
-/* For (MDException).exception_code. These values come from WinBase.h
- * and WinNT.h (names beginning with EXCEPTION_ are in WinBase.h,
- * they are STATUS_ in WinNT.h). */
-typedef enum {
- MD_EXCEPTION_CODE_WIN_CONTROL_C = 0x40010005,
- /* DBG_CONTROL_C */
- MD_EXCEPTION_CODE_WIN_GUARD_PAGE_VIOLATION = 0x80000001,
- /* EXCEPTION_GUARD_PAGE */
- MD_EXCEPTION_CODE_WIN_DATATYPE_MISALIGNMENT = 0x80000002,
- /* EXCEPTION_DATATYPE_MISALIGNMENT */
- MD_EXCEPTION_CODE_WIN_BREAKPOINT = 0x80000003,
- /* EXCEPTION_BREAKPOINT */
- MD_EXCEPTION_CODE_WIN_SINGLE_STEP = 0x80000004,
- /* EXCEPTION_SINGLE_STEP */
- MD_EXCEPTION_CODE_WIN_ACCESS_VIOLATION = 0xc0000005,
- /* EXCEPTION_ACCESS_VIOLATION */
- MD_EXCEPTION_CODE_WIN_IN_PAGE_ERROR = 0xc0000006,
- /* EXCEPTION_IN_PAGE_ERROR */
- MD_EXCEPTION_CODE_WIN_INVALID_HANDLE = 0xc0000008,
- /* EXCEPTION_INVALID_HANDLE */
- MD_EXCEPTION_CODE_WIN_ILLEGAL_INSTRUCTION = 0xc000001d,
- /* EXCEPTION_ILLEGAL_INSTRUCTION */
- MD_EXCEPTION_CODE_WIN_NONCONTINUABLE_EXCEPTION = 0xc0000025,
- /* EXCEPTION_NONCONTINUABLE_EXCEPTION */
- MD_EXCEPTION_CODE_WIN_INVALID_DISPOSITION = 0xc0000026,
- /* EXCEPTION_INVALID_DISPOSITION */
- MD_EXCEPTION_CODE_WIN_ARRAY_BOUNDS_EXCEEDED = 0xc000008c,
- /* EXCEPTION_BOUNDS_EXCEEDED */
- MD_EXCEPTION_CODE_WIN_FLOAT_DENORMAL_OPERAND = 0xc000008d,
- /* EXCEPTION_FLT_DENORMAL_OPERAND */
- MD_EXCEPTION_CODE_WIN_FLOAT_DIVIDE_BY_ZERO = 0xc000008e,
- /* EXCEPTION_FLT_DIVIDE_BY_ZERO */
- MD_EXCEPTION_CODE_WIN_FLOAT_INEXACT_RESULT = 0xc000008f,
- /* EXCEPTION_FLT_INEXACT_RESULT */
- MD_EXCEPTION_CODE_WIN_FLOAT_INVALID_OPERATION = 0xc0000090,
- /* EXCEPTION_FLT_INVALID_OPERATION */
- MD_EXCEPTION_CODE_WIN_FLOAT_OVERFLOW = 0xc0000091,
- /* EXCEPTION_FLT_OVERFLOW */
- MD_EXCEPTION_CODE_WIN_FLOAT_STACK_CHECK = 0xc0000092,
- /* EXCEPTION_FLT_STACK_CHECK */
- MD_EXCEPTION_CODE_WIN_FLOAT_UNDERFLOW = 0xc0000093,
- /* EXCEPTION_FLT_UNDERFLOW */
- MD_EXCEPTION_CODE_WIN_INTEGER_DIVIDE_BY_ZERO = 0xc0000094,
- /* EXCEPTION_INT_DIVIDE_BY_ZERO */
- MD_EXCEPTION_CODE_WIN_INTEGER_OVERFLOW = 0xc0000095,
- /* EXCEPTION_INT_OVERFLOW */
- MD_EXCEPTION_CODE_WIN_PRIVILEGED_INSTRUCTION = 0xc0000096,
- /* EXCEPTION_PRIV_INSTRUCTION */
- MD_EXCEPTION_CODE_WIN_STACK_OVERFLOW = 0xc00000fd,
- /* EXCEPTION_STACK_OVERFLOW */
- MD_EXCEPTION_CODE_WIN_POSSIBLE_DEADLOCK = 0xc0000194,
- /* EXCEPTION_POSSIBLE_DEADLOCK */
- MD_EXCEPTION_CODE_WIN_STACK_BUFFER_OVERRUN = 0xc0000409,
- /* STATUS_STACK_BUFFER_OVERRUN */
- MD_EXCEPTION_CODE_WIN_HEAP_CORRUPTION = 0xc0000374,
- /* STATUS_HEAP_CORRUPTION */
- MD_EXCEPTION_OUT_OF_MEMORY = 0xe0000008,
- /* Exception thrown by Chromium allocators to indicate OOM.
- See base/process/memory.h in Chromium for rationale. */
- MD_EXCEPTION_CODE_WIN_UNHANDLED_CPP_EXCEPTION = 0xe06d7363
- /* Per http://support.microsoft.com/kb/185294,
- generated by Visual C++ compiler */
-} MDExceptionCodeWin;
-
-
-/* For (MDException).exception_information[2], when (MDException).exception_code
- * is MD_EXCEPTION_CODE_WIN_IN_PAGE_ERROR. This describes the underlying reason
- * for the error. These values come from ntstatus.h.
- *
- * The content of this enum was created from ntstatus.h in the 8.1 SDK with
- *
- * egrep '#define [A-Z_0-9]+\s+\(\(NTSTATUS\)0xC[0-9A-F]+L\)' ntstatus.h
- * | tr -d '\r'
- * | sed -r 's@#define ([A-Z_0-9]+)\s+\(\(NTSTATUS\)(0xC[0-9A-F]+)L\).*@\2 \1@'
- * | sort
- * | sed -r 's@(0xC[0-9A-F]+) ([A-Z_0-9]+)@ MD_NTSTATUS_WIN_\2 = \1,@'
- *
- * With easy copy to clipboard with
- * | xclip -selection c # on linux
- * | clip # on windows
- * | pbcopy # on mac
- *
- * and then the last comma manually removed. */
-typedef enum {
- MD_NTSTATUS_WIN_STATUS_UNSUCCESSFUL = 0xC0000001,
- MD_NTSTATUS_WIN_STATUS_NOT_IMPLEMENTED = 0xC0000002,
- MD_NTSTATUS_WIN_STATUS_INVALID_INFO_CLASS = 0xC0000003,
- MD_NTSTATUS_WIN_STATUS_INFO_LENGTH_MISMATCH = 0xC0000004,
- MD_NTSTATUS_WIN_STATUS_ACCESS_VIOLATION = 0xC0000005,
- MD_NTSTATUS_WIN_STATUS_IN_PAGE_ERROR = 0xC0000006,
- MD_NTSTATUS_WIN_STATUS_PAGEFILE_QUOTA = 0xC0000007,
- MD_NTSTATUS_WIN_STATUS_INVALID_HANDLE = 0xC0000008,
- MD_NTSTATUS_WIN_STATUS_BAD_INITIAL_STACK = 0xC0000009,
- MD_NTSTATUS_WIN_STATUS_BAD_INITIAL_PC = 0xC000000A,
- MD_NTSTATUS_WIN_STATUS_INVALID_CID = 0xC000000B,
- MD_NTSTATUS_WIN_STATUS_TIMER_NOT_CANCELED = 0xC000000C,
- MD_NTSTATUS_WIN_STATUS_INVALID_PARAMETER = 0xC000000D,
- MD_NTSTATUS_WIN_STATUS_NO_SUCH_DEVICE = 0xC000000E,
- MD_NTSTATUS_WIN_STATUS_NO_SUCH_FILE = 0xC000000F,
- MD_NTSTATUS_WIN_STATUS_INVALID_DEVICE_REQUEST = 0xC0000010,
- MD_NTSTATUS_WIN_STATUS_END_OF_FILE = 0xC0000011,
- MD_NTSTATUS_WIN_STATUS_WRONG_VOLUME = 0xC0000012,
- MD_NTSTATUS_WIN_STATUS_NO_MEDIA_IN_DEVICE = 0xC0000013,
- MD_NTSTATUS_WIN_STATUS_UNRECOGNIZED_MEDIA = 0xC0000014,
- MD_NTSTATUS_WIN_STATUS_NONEXISTENT_SECTOR = 0xC0000015,
- MD_NTSTATUS_WIN_STATUS_MORE_PROCESSING_REQUIRED = 0xC0000016,
- MD_NTSTATUS_WIN_STATUS_NO_MEMORY = 0xC0000017,
- MD_NTSTATUS_WIN_STATUS_CONFLICTING_ADDRESSES = 0xC0000018,
- MD_NTSTATUS_WIN_STATUS_NOT_MAPPED_VIEW = 0xC0000019,
- MD_NTSTATUS_WIN_STATUS_UNABLE_TO_FREE_VM = 0xC000001A,
- MD_NTSTATUS_WIN_STATUS_UNABLE_TO_DELETE_SECTION = 0xC000001B,
- MD_NTSTATUS_WIN_STATUS_INVALID_SYSTEM_SERVICE = 0xC000001C,
- MD_NTSTATUS_WIN_STATUS_ILLEGAL_INSTRUCTION = 0xC000001D,
- MD_NTSTATUS_WIN_STATUS_INVALID_LOCK_SEQUENCE = 0xC000001E,
- MD_NTSTATUS_WIN_STATUS_INVALID_VIEW_SIZE = 0xC000001F,
- MD_NTSTATUS_WIN_STATUS_INVALID_FILE_FOR_SECTION = 0xC0000020,
- MD_NTSTATUS_WIN_STATUS_ALREADY_COMMITTED = 0xC0000021,
- MD_NTSTATUS_WIN_STATUS_ACCESS_DENIED = 0xC0000022,
- MD_NTSTATUS_WIN_STATUS_BUFFER_TOO_SMALL = 0xC0000023,
- MD_NTSTATUS_WIN_STATUS_OBJECT_TYPE_MISMATCH = 0xC0000024,
- MD_NTSTATUS_WIN_STATUS_NONCONTINUABLE_EXCEPTION = 0xC0000025,
- MD_NTSTATUS_WIN_STATUS_INVALID_DISPOSITION = 0xC0000026,
- MD_NTSTATUS_WIN_STATUS_UNWIND = 0xC0000027,
- MD_NTSTATUS_WIN_STATUS_BAD_STACK = 0xC0000028,
- MD_NTSTATUS_WIN_STATUS_INVALID_UNWIND_TARGET = 0xC0000029,
- MD_NTSTATUS_WIN_STATUS_NOT_LOCKED = 0xC000002A,
- MD_NTSTATUS_WIN_STATUS_PARITY_ERROR = 0xC000002B,
- MD_NTSTATUS_WIN_STATUS_UNABLE_TO_DECOMMIT_VM = 0xC000002C,
- MD_NTSTATUS_WIN_STATUS_NOT_COMMITTED = 0xC000002D,
- MD_NTSTATUS_WIN_STATUS_INVALID_PORT_ATTRIBUTES = 0xC000002E,
- MD_NTSTATUS_WIN_STATUS_PORT_MESSAGE_TOO_LONG = 0xC000002F,
- MD_NTSTATUS_WIN_STATUS_INVALID_PARAMETER_MIX = 0xC0000030,
- MD_NTSTATUS_WIN_STATUS_INVALID_QUOTA_LOWER = 0xC0000031,
- MD_NTSTATUS_WIN_STATUS_DISK_CORRUPT_ERROR = 0xC0000032,
- MD_NTSTATUS_WIN_STATUS_OBJECT_NAME_INVALID = 0xC0000033,
- MD_NTSTATUS_WIN_STATUS_OBJECT_NAME_NOT_FOUND = 0xC0000034,
- MD_NTSTATUS_WIN_STATUS_OBJECT_NAME_COLLISION = 0xC0000035,
- MD_NTSTATUS_WIN_STATUS_PORT_DISCONNECTED = 0xC0000037,
- MD_NTSTATUS_WIN_STATUS_DEVICE_ALREADY_ATTACHED = 0xC0000038,
- MD_NTSTATUS_WIN_STATUS_OBJECT_PATH_INVALID = 0xC0000039,
- MD_NTSTATUS_WIN_STATUS_OBJECT_PATH_NOT_FOUND = 0xC000003A,
- MD_NTSTATUS_WIN_STATUS_OBJECT_PATH_SYNTAX_BAD = 0xC000003B,
- MD_NTSTATUS_WIN_STATUS_DATA_OVERRUN = 0xC000003C,
- MD_NTSTATUS_WIN_STATUS_DATA_LATE_ERROR = 0xC000003D,
- MD_NTSTATUS_WIN_STATUS_DATA_ERROR = 0xC000003E,
- MD_NTSTATUS_WIN_STATUS_CRC_ERROR = 0xC000003F,
- MD_NTSTATUS_WIN_STATUS_SECTION_TOO_BIG = 0xC0000040,
- MD_NTSTATUS_WIN_STATUS_PORT_CONNECTION_REFUSED = 0xC0000041,
- MD_NTSTATUS_WIN_STATUS_INVALID_PORT_HANDLE = 0xC0000042,
- MD_NTSTATUS_WIN_STATUS_SHARING_VIOLATION = 0xC0000043,
- MD_NTSTATUS_WIN_STATUS_QUOTA_EXCEEDED = 0xC0000044,
- MD_NTSTATUS_WIN_STATUS_INVALID_PAGE_PROTECTION = 0xC0000045,
- MD_NTSTATUS_WIN_STATUS_MUTANT_NOT_OWNED = 0xC0000046,
- MD_NTSTATUS_WIN_STATUS_SEMAPHORE_LIMIT_EXCEEDED = 0xC0000047,
- MD_NTSTATUS_WIN_STATUS_PORT_ALREADY_SET = 0xC0000048,
- MD_NTSTATUS_WIN_STATUS_SECTION_NOT_IMAGE = 0xC0000049,
- MD_NTSTATUS_WIN_STATUS_SUSPEND_COUNT_EXCEEDED = 0xC000004A,
- MD_NTSTATUS_WIN_STATUS_THREAD_IS_TERMINATING = 0xC000004B,
- MD_NTSTATUS_WIN_STATUS_BAD_WORKING_SET_LIMIT = 0xC000004C,
- MD_NTSTATUS_WIN_STATUS_INCOMPATIBLE_FILE_MAP = 0xC000004D,
- MD_NTSTATUS_WIN_STATUS_SECTION_PROTECTION = 0xC000004E,
- MD_NTSTATUS_WIN_STATUS_EAS_NOT_SUPPORTED = 0xC000004F,
- MD_NTSTATUS_WIN_STATUS_EA_TOO_LARGE = 0xC0000050,
- MD_NTSTATUS_WIN_STATUS_NONEXISTENT_EA_ENTRY = 0xC0000051,
- MD_NTSTATUS_WIN_STATUS_NO_EAS_ON_FILE = 0xC0000052,
- MD_NTSTATUS_WIN_STATUS_EA_CORRUPT_ERROR = 0xC0000053,
- MD_NTSTATUS_WIN_STATUS_FILE_LOCK_CONFLICT = 0xC0000054,
- MD_NTSTATUS_WIN_STATUS_LOCK_NOT_GRANTED = 0xC0000055,
- MD_NTSTATUS_WIN_STATUS_DELETE_PENDING = 0xC0000056,
- MD_NTSTATUS_WIN_STATUS_CTL_FILE_NOT_SUPPORTED = 0xC0000057,
- MD_NTSTATUS_WIN_STATUS_UNKNOWN_REVISION = 0xC0000058,
- MD_NTSTATUS_WIN_STATUS_REVISION_MISMATCH = 0xC0000059,
- MD_NTSTATUS_WIN_STATUS_INVALID_OWNER = 0xC000005A,
- MD_NTSTATUS_WIN_STATUS_INVALID_PRIMARY_GROUP = 0xC000005B,
- MD_NTSTATUS_WIN_STATUS_NO_IMPERSONATION_TOKEN = 0xC000005C,
- MD_NTSTATUS_WIN_STATUS_CANT_DISABLE_MANDATORY = 0xC000005D,
- MD_NTSTATUS_WIN_STATUS_NO_LOGON_SERVERS = 0xC000005E,
- MD_NTSTATUS_WIN_STATUS_NO_SUCH_LOGON_SESSION = 0xC000005F,
- MD_NTSTATUS_WIN_STATUS_NO_SUCH_PRIVILEGE = 0xC0000060,
- MD_NTSTATUS_WIN_STATUS_PRIVILEGE_NOT_HELD = 0xC0000061,
- MD_NTSTATUS_WIN_STATUS_INVALID_ACCOUNT_NAME = 0xC0000062,
- MD_NTSTATUS_WIN_STATUS_USER_EXISTS = 0xC0000063,
- MD_NTSTATUS_WIN_STATUS_NO_SUCH_USER = 0xC0000064,
- MD_NTSTATUS_WIN_STATUS_GROUP_EXISTS = 0xC0000065,
- MD_NTSTATUS_WIN_STATUS_NO_SUCH_GROUP = 0xC0000066,
- MD_NTSTATUS_WIN_STATUS_MEMBER_IN_GROUP = 0xC0000067,
- MD_NTSTATUS_WIN_STATUS_MEMBER_NOT_IN_GROUP = 0xC0000068,
- MD_NTSTATUS_WIN_STATUS_LAST_ADMIN = 0xC0000069,
- MD_NTSTATUS_WIN_STATUS_WRONG_PASSWORD = 0xC000006A,
- MD_NTSTATUS_WIN_STATUS_ILL_FORMED_PASSWORD = 0xC000006B,
- MD_NTSTATUS_WIN_STATUS_PASSWORD_RESTRICTION = 0xC000006C,
- MD_NTSTATUS_WIN_STATUS_LOGON_FAILURE = 0xC000006D,
- MD_NTSTATUS_WIN_STATUS_ACCOUNT_RESTRICTION = 0xC000006E,
- MD_NTSTATUS_WIN_STATUS_INVALID_LOGON_HOURS = 0xC000006F,
- MD_NTSTATUS_WIN_STATUS_INVALID_WORKSTATION = 0xC0000070,
- MD_NTSTATUS_WIN_STATUS_PASSWORD_EXPIRED = 0xC0000071,
- MD_NTSTATUS_WIN_STATUS_ACCOUNT_DISABLED = 0xC0000072,
- MD_NTSTATUS_WIN_STATUS_NONE_MAPPED = 0xC0000073,
- MD_NTSTATUS_WIN_STATUS_TOO_MANY_LUIDS_REQUESTED = 0xC0000074,
- MD_NTSTATUS_WIN_STATUS_LUIDS_EXHAUSTED = 0xC0000075,
- MD_NTSTATUS_WIN_STATUS_INVALID_SUB_AUTHORITY = 0xC0000076,
- MD_NTSTATUS_WIN_STATUS_INVALID_ACL = 0xC0000077,
- MD_NTSTATUS_WIN_STATUS_INVALID_SID = 0xC0000078,
- MD_NTSTATUS_WIN_STATUS_INVALID_SECURITY_DESCR = 0xC0000079,
- MD_NTSTATUS_WIN_STATUS_PROCEDURE_NOT_FOUND = 0xC000007A,
- MD_NTSTATUS_WIN_STATUS_INVALID_IMAGE_FORMAT = 0xC000007B,
- MD_NTSTATUS_WIN_STATUS_NO_TOKEN = 0xC000007C,
- MD_NTSTATUS_WIN_STATUS_BAD_INHERITANCE_ACL = 0xC000007D,
- MD_NTSTATUS_WIN_STATUS_RANGE_NOT_LOCKED = 0xC000007E,
- MD_NTSTATUS_WIN_STATUS_DISK_FULL = 0xC000007F,
- MD_NTSTATUS_WIN_STATUS_SERVER_DISABLED = 0xC0000080,
- MD_NTSTATUS_WIN_STATUS_SERVER_NOT_DISABLED = 0xC0000081,
- MD_NTSTATUS_WIN_STATUS_TOO_MANY_GUIDS_REQUESTED = 0xC0000082,
- MD_NTSTATUS_WIN_STATUS_GUIDS_EXHAUSTED = 0xC0000083,
- MD_NTSTATUS_WIN_STATUS_INVALID_ID_AUTHORITY = 0xC0000084,
- MD_NTSTATUS_WIN_STATUS_AGENTS_EXHAUSTED = 0xC0000085,
- MD_NTSTATUS_WIN_STATUS_INVALID_VOLUME_LABEL = 0xC0000086,
- MD_NTSTATUS_WIN_STATUS_SECTION_NOT_EXTENDED = 0xC0000087,
- MD_NTSTATUS_WIN_STATUS_NOT_MAPPED_DATA = 0xC0000088,
- MD_NTSTATUS_WIN_STATUS_RESOURCE_DATA_NOT_FOUND = 0xC0000089,
- MD_NTSTATUS_WIN_STATUS_RESOURCE_TYPE_NOT_FOUND = 0xC000008A,
- MD_NTSTATUS_WIN_STATUS_RESOURCE_NAME_NOT_FOUND = 0xC000008B,
- MD_NTSTATUS_WIN_STATUS_ARRAY_BOUNDS_EXCEEDED = 0xC000008C,
- MD_NTSTATUS_WIN_STATUS_FLOAT_DENORMAL_OPERAND = 0xC000008D,
- MD_NTSTATUS_WIN_STATUS_FLOAT_DIVIDE_BY_ZERO = 0xC000008E,
- MD_NTSTATUS_WIN_STATUS_FLOAT_INEXACT_RESULT = 0xC000008F,
- MD_NTSTATUS_WIN_STATUS_FLOAT_INVALID_OPERATION = 0xC0000090,
- MD_NTSTATUS_WIN_STATUS_FLOAT_OVERFLOW = 0xC0000091,
- MD_NTSTATUS_WIN_STATUS_FLOAT_STACK_CHECK = 0xC0000092,
- MD_NTSTATUS_WIN_STATUS_FLOAT_UNDERFLOW = 0xC0000093,
- MD_NTSTATUS_WIN_STATUS_INTEGER_DIVIDE_BY_ZERO = 0xC0000094,
- MD_NTSTATUS_WIN_STATUS_INTEGER_OVERFLOW = 0xC0000095,
- MD_NTSTATUS_WIN_STATUS_PRIVILEGED_INSTRUCTION = 0xC0000096,
- MD_NTSTATUS_WIN_STATUS_TOO_MANY_PAGING_FILES = 0xC0000097,
- MD_NTSTATUS_WIN_STATUS_FILE_INVALID = 0xC0000098,
- MD_NTSTATUS_WIN_STATUS_ALLOTTED_SPACE_EXCEEDED = 0xC0000099,
- MD_NTSTATUS_WIN_STATUS_INSUFFICIENT_RESOURCES = 0xC000009A,
- MD_NTSTATUS_WIN_STATUS_DFS_EXIT_PATH_FOUND = 0xC000009B,
- MD_NTSTATUS_WIN_STATUS_DEVICE_DATA_ERROR = 0xC000009C,
- MD_NTSTATUS_WIN_STATUS_DEVICE_NOT_CONNECTED = 0xC000009D,
- MD_NTSTATUS_WIN_STATUS_DEVICE_POWER_FAILURE = 0xC000009E,
- MD_NTSTATUS_WIN_STATUS_FREE_VM_NOT_AT_BASE = 0xC000009F,
- MD_NTSTATUS_WIN_STATUS_MEMORY_NOT_ALLOCATED = 0xC00000A0,
- MD_NTSTATUS_WIN_STATUS_WORKING_SET_QUOTA = 0xC00000A1,
- MD_NTSTATUS_WIN_STATUS_MEDIA_WRITE_PROTECTED = 0xC00000A2,
- MD_NTSTATUS_WIN_STATUS_DEVICE_NOT_READY = 0xC00000A3,
- MD_NTSTATUS_WIN_STATUS_INVALID_GROUP_ATTRIBUTES = 0xC00000A4,
- MD_NTSTATUS_WIN_STATUS_BAD_IMPERSONATION_LEVEL = 0xC00000A5,
- MD_NTSTATUS_WIN_STATUS_CANT_OPEN_ANONYMOUS = 0xC00000A6,
- MD_NTSTATUS_WIN_STATUS_BAD_VALIDATION_CLASS = 0xC00000A7,
- MD_NTSTATUS_WIN_STATUS_BAD_TOKEN_TYPE = 0xC00000A8,
- MD_NTSTATUS_WIN_STATUS_BAD_MASTER_BOOT_RECORD = 0xC00000A9,
- MD_NTSTATUS_WIN_STATUS_INSTRUCTION_MISALIGNMENT = 0xC00000AA,
- MD_NTSTATUS_WIN_STATUS_INSTANCE_NOT_AVAILABLE = 0xC00000AB,
- MD_NTSTATUS_WIN_STATUS_PIPE_NOT_AVAILABLE = 0xC00000AC,
- MD_NTSTATUS_WIN_STATUS_INVALID_PIPE_STATE = 0xC00000AD,
- MD_NTSTATUS_WIN_STATUS_PIPE_BUSY = 0xC00000AE,
- MD_NTSTATUS_WIN_STATUS_ILLEGAL_FUNCTION = 0xC00000AF,
- MD_NTSTATUS_WIN_STATUS_PIPE_DISCONNECTED = 0xC00000B0,
- MD_NTSTATUS_WIN_STATUS_PIPE_CLOSING = 0xC00000B1,
- MD_NTSTATUS_WIN_STATUS_PIPE_CONNECTED = 0xC00000B2,
- MD_NTSTATUS_WIN_STATUS_PIPE_LISTENING = 0xC00000B3,
- MD_NTSTATUS_WIN_STATUS_INVALID_READ_MODE = 0xC00000B4,
- MD_NTSTATUS_WIN_STATUS_IO_TIMEOUT = 0xC00000B5,
- MD_NTSTATUS_WIN_STATUS_FILE_FORCED_CLOSED = 0xC00000B6,
- MD_NTSTATUS_WIN_STATUS_PROFILING_NOT_STARTED = 0xC00000B7,
- MD_NTSTATUS_WIN_STATUS_PROFILING_NOT_STOPPED = 0xC00000B8,
- MD_NTSTATUS_WIN_STATUS_COULD_NOT_INTERPRET = 0xC00000B9,
- MD_NTSTATUS_WIN_STATUS_FILE_IS_A_DIRECTORY = 0xC00000BA,
- MD_NTSTATUS_WIN_STATUS_NOT_SUPPORTED = 0xC00000BB,
- MD_NTSTATUS_WIN_STATUS_REMOTE_NOT_LISTENING = 0xC00000BC,
- MD_NTSTATUS_WIN_STATUS_DUPLICATE_NAME = 0xC00000BD,
- MD_NTSTATUS_WIN_STATUS_BAD_NETWORK_PATH = 0xC00000BE,
- MD_NTSTATUS_WIN_STATUS_NETWORK_BUSY = 0xC00000BF,
- MD_NTSTATUS_WIN_STATUS_DEVICE_DOES_NOT_EXIST = 0xC00000C0,
- MD_NTSTATUS_WIN_STATUS_TOO_MANY_COMMANDS = 0xC00000C1,
- MD_NTSTATUS_WIN_STATUS_ADAPTER_HARDWARE_ERROR = 0xC00000C2,
- MD_NTSTATUS_WIN_STATUS_INVALID_NETWORK_RESPONSE = 0xC00000C3,
- MD_NTSTATUS_WIN_STATUS_UNEXPECTED_NETWORK_ERROR = 0xC00000C4,
- MD_NTSTATUS_WIN_STATUS_BAD_REMOTE_ADAPTER = 0xC00000C5,
- MD_NTSTATUS_WIN_STATUS_PRINT_QUEUE_FULL = 0xC00000C6,
- MD_NTSTATUS_WIN_STATUS_NO_SPOOL_SPACE = 0xC00000C7,
- MD_NTSTATUS_WIN_STATUS_PRINT_CANCELLED = 0xC00000C8,
- MD_NTSTATUS_WIN_STATUS_NETWORK_NAME_DELETED = 0xC00000C9,
- MD_NTSTATUS_WIN_STATUS_NETWORK_ACCESS_DENIED = 0xC00000CA,
- MD_NTSTATUS_WIN_STATUS_BAD_DEVICE_TYPE = 0xC00000CB,
- MD_NTSTATUS_WIN_STATUS_BAD_NETWORK_NAME = 0xC00000CC,
- MD_NTSTATUS_WIN_STATUS_TOO_MANY_NAMES = 0xC00000CD,
- MD_NTSTATUS_WIN_STATUS_TOO_MANY_SESSIONS = 0xC00000CE,
- MD_NTSTATUS_WIN_STATUS_SHARING_PAUSED = 0xC00000CF,
- MD_NTSTATUS_WIN_STATUS_REQUEST_NOT_ACCEPTED = 0xC00000D0,
- MD_NTSTATUS_WIN_STATUS_REDIRECTOR_PAUSED = 0xC00000D1,
- MD_NTSTATUS_WIN_STATUS_NET_WRITE_FAULT = 0xC00000D2,
- MD_NTSTATUS_WIN_STATUS_PROFILING_AT_LIMIT = 0xC00000D3,
- MD_NTSTATUS_WIN_STATUS_NOT_SAME_DEVICE = 0xC00000D4,
- MD_NTSTATUS_WIN_STATUS_FILE_RENAMED = 0xC00000D5,
- MD_NTSTATUS_WIN_STATUS_VIRTUAL_CIRCUIT_CLOSED = 0xC00000D6,
- MD_NTSTATUS_WIN_STATUS_NO_SECURITY_ON_OBJECT = 0xC00000D7,
- MD_NTSTATUS_WIN_STATUS_CANT_WAIT = 0xC00000D8,
- MD_NTSTATUS_WIN_STATUS_PIPE_EMPTY = 0xC00000D9,
- MD_NTSTATUS_WIN_STATUS_CANT_ACCESS_DOMAIN_INFO = 0xC00000DA,
- MD_NTSTATUS_WIN_STATUS_CANT_TERMINATE_SELF = 0xC00000DB,
- MD_NTSTATUS_WIN_STATUS_INVALID_SERVER_STATE = 0xC00000DC,
- MD_NTSTATUS_WIN_STATUS_INVALID_DOMAIN_STATE = 0xC00000DD,
- MD_NTSTATUS_WIN_STATUS_INVALID_DOMAIN_ROLE = 0xC00000DE,
- MD_NTSTATUS_WIN_STATUS_NO_SUCH_DOMAIN = 0xC00000DF,
- MD_NTSTATUS_WIN_STATUS_DOMAIN_EXISTS = 0xC00000E0,
- MD_NTSTATUS_WIN_STATUS_DOMAIN_LIMIT_EXCEEDED = 0xC00000E1,
- MD_NTSTATUS_WIN_STATUS_OPLOCK_NOT_GRANTED = 0xC00000E2,
- MD_NTSTATUS_WIN_STATUS_INVALID_OPLOCK_PROTOCOL = 0xC00000E3,
- MD_NTSTATUS_WIN_STATUS_INTERNAL_DB_CORRUPTION = 0xC00000E4,
- MD_NTSTATUS_WIN_STATUS_INTERNAL_ERROR = 0xC00000E5,
- MD_NTSTATUS_WIN_STATUS_GENERIC_NOT_MAPPED = 0xC00000E6,
- MD_NTSTATUS_WIN_STATUS_BAD_DESCRIPTOR_FORMAT = 0xC00000E7,
- MD_NTSTATUS_WIN_STATUS_INVALID_USER_BUFFER = 0xC00000E8,
- MD_NTSTATUS_WIN_STATUS_UNEXPECTED_IO_ERROR = 0xC00000E9,
- MD_NTSTATUS_WIN_STATUS_UNEXPECTED_MM_CREATE_ERR = 0xC00000EA,
- MD_NTSTATUS_WIN_STATUS_UNEXPECTED_MM_MAP_ERROR = 0xC00000EB,
- MD_NTSTATUS_WIN_STATUS_UNEXPECTED_MM_EXTEND_ERR = 0xC00000EC,
- MD_NTSTATUS_WIN_STATUS_NOT_LOGON_PROCESS = 0xC00000ED,
- MD_NTSTATUS_WIN_STATUS_LOGON_SESSION_EXISTS = 0xC00000EE,
- MD_NTSTATUS_WIN_STATUS_INVALID_PARAMETER_1 = 0xC00000EF,
- MD_NTSTATUS_WIN_STATUS_INVALID_PARAMETER_2 = 0xC00000F0,
- MD_NTSTATUS_WIN_STATUS_INVALID_PARAMETER_3 = 0xC00000F1,
- MD_NTSTATUS_WIN_STATUS_INVALID_PARAMETER_4 = 0xC00000F2,
- MD_NTSTATUS_WIN_STATUS_INVALID_PARAMETER_5 = 0xC00000F3,
- MD_NTSTATUS_WIN_STATUS_INVALID_PARAMETER_6 = 0xC00000F4,
- MD_NTSTATUS_WIN_STATUS_INVALID_PARAMETER_7 = 0xC00000F5,
- MD_NTSTATUS_WIN_STATUS_INVALID_PARAMETER_8 = 0xC00000F6,
- MD_NTSTATUS_WIN_STATUS_INVALID_PARAMETER_9 = 0xC00000F7,
- MD_NTSTATUS_WIN_STATUS_INVALID_PARAMETER_10 = 0xC00000F8,
- MD_NTSTATUS_WIN_STATUS_INVALID_PARAMETER_11 = 0xC00000F9,
- MD_NTSTATUS_WIN_STATUS_INVALID_PARAMETER_12 = 0xC00000FA,
- MD_NTSTATUS_WIN_STATUS_REDIRECTOR_NOT_STARTED = 0xC00000FB,
- MD_NTSTATUS_WIN_STATUS_REDIRECTOR_STARTED = 0xC00000FC,
- MD_NTSTATUS_WIN_STATUS_STACK_OVERFLOW = 0xC00000FD,
- MD_NTSTATUS_WIN_STATUS_NO_SUCH_PACKAGE = 0xC00000FE,
- MD_NTSTATUS_WIN_STATUS_BAD_FUNCTION_TABLE = 0xC00000FF,
- MD_NTSTATUS_WIN_STATUS_VARIABLE_NOT_FOUND = 0xC0000100,
- MD_NTSTATUS_WIN_STATUS_DIRECTORY_NOT_EMPTY = 0xC0000101,
- MD_NTSTATUS_WIN_STATUS_FILE_CORRUPT_ERROR = 0xC0000102,
- MD_NTSTATUS_WIN_STATUS_NOT_A_DIRECTORY = 0xC0000103,
- MD_NTSTATUS_WIN_STATUS_BAD_LOGON_SESSION_STATE = 0xC0000104,
- MD_NTSTATUS_WIN_STATUS_LOGON_SESSION_COLLISION = 0xC0000105,
- MD_NTSTATUS_WIN_STATUS_NAME_TOO_LONG = 0xC0000106,
- MD_NTSTATUS_WIN_STATUS_FILES_OPEN = 0xC0000107,
- MD_NTSTATUS_WIN_STATUS_CONNECTION_IN_USE = 0xC0000108,
- MD_NTSTATUS_WIN_STATUS_MESSAGE_NOT_FOUND = 0xC0000109,
- MD_NTSTATUS_WIN_STATUS_PROCESS_IS_TERMINATING = 0xC000010A,
- MD_NTSTATUS_WIN_STATUS_INVALID_LOGON_TYPE = 0xC000010B,
- MD_NTSTATUS_WIN_STATUS_NO_GUID_TRANSLATION = 0xC000010C,
- MD_NTSTATUS_WIN_STATUS_CANNOT_IMPERSONATE = 0xC000010D,
- MD_NTSTATUS_WIN_STATUS_IMAGE_ALREADY_LOADED = 0xC000010E,
- MD_NTSTATUS_WIN_STATUS_ABIOS_NOT_PRESENT = 0xC000010F,
- MD_NTSTATUS_WIN_STATUS_ABIOS_LID_NOT_EXIST = 0xC0000110,
- MD_NTSTATUS_WIN_STATUS_ABIOS_LID_ALREADY_OWNED = 0xC0000111,
- MD_NTSTATUS_WIN_STATUS_ABIOS_NOT_LID_OWNER = 0xC0000112,
- MD_NTSTATUS_WIN_STATUS_ABIOS_INVALID_COMMAND = 0xC0000113,
- MD_NTSTATUS_WIN_STATUS_ABIOS_INVALID_LID = 0xC0000114,
- MD_NTSTATUS_WIN_STATUS_ABIOS_SELECTOR_NOT_AVAILABLE = 0xC0000115,
- MD_NTSTATUS_WIN_STATUS_ABIOS_INVALID_SELECTOR = 0xC0000116,
- MD_NTSTATUS_WIN_STATUS_NO_LDT = 0xC0000117,
- MD_NTSTATUS_WIN_STATUS_INVALID_LDT_SIZE = 0xC0000118,
- MD_NTSTATUS_WIN_STATUS_INVALID_LDT_OFFSET = 0xC0000119,
- MD_NTSTATUS_WIN_STATUS_INVALID_LDT_DESCRIPTOR = 0xC000011A,
- MD_NTSTATUS_WIN_STATUS_INVALID_IMAGE_NE_FORMAT = 0xC000011B,
- MD_NTSTATUS_WIN_STATUS_RXACT_INVALID_STATE = 0xC000011C,
- MD_NTSTATUS_WIN_STATUS_RXACT_COMMIT_FAILURE = 0xC000011D,
- MD_NTSTATUS_WIN_STATUS_MAPPED_FILE_SIZE_ZERO = 0xC000011E,
- MD_NTSTATUS_WIN_STATUS_TOO_MANY_OPENED_FILES = 0xC000011F,
- MD_NTSTATUS_WIN_STATUS_CANCELLED = 0xC0000120,
- MD_NTSTATUS_WIN_STATUS_CANNOT_DELETE = 0xC0000121,
- MD_NTSTATUS_WIN_STATUS_INVALID_COMPUTER_NAME = 0xC0000122,
- MD_NTSTATUS_WIN_STATUS_FILE_DELETED = 0xC0000123,
- MD_NTSTATUS_WIN_STATUS_SPECIAL_ACCOUNT = 0xC0000124,
- MD_NTSTATUS_WIN_STATUS_SPECIAL_GROUP = 0xC0000125,
- MD_NTSTATUS_WIN_STATUS_SPECIAL_USER = 0xC0000126,
- MD_NTSTATUS_WIN_STATUS_MEMBERS_PRIMARY_GROUP = 0xC0000127,
- MD_NTSTATUS_WIN_STATUS_FILE_CLOSED = 0xC0000128,
- MD_NTSTATUS_WIN_STATUS_TOO_MANY_THREADS = 0xC0000129,
- MD_NTSTATUS_WIN_STATUS_THREAD_NOT_IN_PROCESS = 0xC000012A,
- MD_NTSTATUS_WIN_STATUS_TOKEN_ALREADY_IN_USE = 0xC000012B,
- MD_NTSTATUS_WIN_STATUS_PAGEFILE_QUOTA_EXCEEDED = 0xC000012C,
- MD_NTSTATUS_WIN_STATUS_COMMITMENT_LIMIT = 0xC000012D,
- MD_NTSTATUS_WIN_STATUS_INVALID_IMAGE_LE_FORMAT = 0xC000012E,
- MD_NTSTATUS_WIN_STATUS_INVALID_IMAGE_NOT_MZ = 0xC000012F,
- MD_NTSTATUS_WIN_STATUS_INVALID_IMAGE_PROTECT = 0xC0000130,
- MD_NTSTATUS_WIN_STATUS_INVALID_IMAGE_WIN_16 = 0xC0000131,
- MD_NTSTATUS_WIN_STATUS_LOGON_SERVER_CONFLICT = 0xC0000132,
- MD_NTSTATUS_WIN_STATUS_TIME_DIFFERENCE_AT_DC = 0xC0000133,
- MD_NTSTATUS_WIN_STATUS_SYNCHRONIZATION_REQUIRED = 0xC0000134,
- MD_NTSTATUS_WIN_STATUS_DLL_NOT_FOUND = 0xC0000135,
- MD_NTSTATUS_WIN_STATUS_OPEN_FAILED = 0xC0000136,
- MD_NTSTATUS_WIN_STATUS_IO_PRIVILEGE_FAILED = 0xC0000137,
- MD_NTSTATUS_WIN_STATUS_ORDINAL_NOT_FOUND = 0xC0000138,
- MD_NTSTATUS_WIN_STATUS_ENTRYPOINT_NOT_FOUND = 0xC0000139,
- MD_NTSTATUS_WIN_STATUS_CONTROL_C_EXIT = 0xC000013A,
- MD_NTSTATUS_WIN_STATUS_LOCAL_DISCONNECT = 0xC000013B,
- MD_NTSTATUS_WIN_STATUS_REMOTE_DISCONNECT = 0xC000013C,
- MD_NTSTATUS_WIN_STATUS_REMOTE_RESOURCES = 0xC000013D,
- MD_NTSTATUS_WIN_STATUS_LINK_FAILED = 0xC000013E,
- MD_NTSTATUS_WIN_STATUS_LINK_TIMEOUT = 0xC000013F,
- MD_NTSTATUS_WIN_STATUS_INVALID_CONNECTION = 0xC0000140,
- MD_NTSTATUS_WIN_STATUS_INVALID_ADDRESS = 0xC0000141,
- MD_NTSTATUS_WIN_STATUS_DLL_INIT_FAILED = 0xC0000142,
- MD_NTSTATUS_WIN_STATUS_MISSING_SYSTEMFILE = 0xC0000143,
- MD_NTSTATUS_WIN_STATUS_UNHANDLED_EXCEPTION = 0xC0000144,
- MD_NTSTATUS_WIN_STATUS_APP_INIT_FAILURE = 0xC0000145,
- MD_NTSTATUS_WIN_STATUS_PAGEFILE_CREATE_FAILED = 0xC0000146,
- MD_NTSTATUS_WIN_STATUS_NO_PAGEFILE = 0xC0000147,
- MD_NTSTATUS_WIN_STATUS_INVALID_LEVEL = 0xC0000148,
- MD_NTSTATUS_WIN_STATUS_WRONG_PASSWORD_CORE = 0xC0000149,
- MD_NTSTATUS_WIN_STATUS_ILLEGAL_FLOAT_CONTEXT = 0xC000014A,
- MD_NTSTATUS_WIN_STATUS_PIPE_BROKEN = 0xC000014B,
- MD_NTSTATUS_WIN_STATUS_REGISTRY_CORRUPT = 0xC000014C,
- MD_NTSTATUS_WIN_STATUS_REGISTRY_IO_FAILED = 0xC000014D,
- MD_NTSTATUS_WIN_STATUS_NO_EVENT_PAIR = 0xC000014E,
- MD_NTSTATUS_WIN_STATUS_UNRECOGNIZED_VOLUME = 0xC000014F,
- MD_NTSTATUS_WIN_STATUS_SERIAL_NO_DEVICE_INITED = 0xC0000150,
- MD_NTSTATUS_WIN_STATUS_NO_SUCH_ALIAS = 0xC0000151,
- MD_NTSTATUS_WIN_STATUS_MEMBER_NOT_IN_ALIAS = 0xC0000152,
- MD_NTSTATUS_WIN_STATUS_MEMBER_IN_ALIAS = 0xC0000153,
- MD_NTSTATUS_WIN_STATUS_ALIAS_EXISTS = 0xC0000154,
- MD_NTSTATUS_WIN_STATUS_LOGON_NOT_GRANTED = 0xC0000155,
- MD_NTSTATUS_WIN_STATUS_TOO_MANY_SECRETS = 0xC0000156,
- MD_NTSTATUS_WIN_STATUS_SECRET_TOO_LONG = 0xC0000157,
- MD_NTSTATUS_WIN_STATUS_INTERNAL_DB_ERROR = 0xC0000158,
- MD_NTSTATUS_WIN_STATUS_FULLSCREEN_MODE = 0xC0000159,
- MD_NTSTATUS_WIN_STATUS_TOO_MANY_CONTEXT_IDS = 0xC000015A,
- MD_NTSTATUS_WIN_STATUS_LOGON_TYPE_NOT_GRANTED = 0xC000015B,
- MD_NTSTATUS_WIN_STATUS_NOT_REGISTRY_FILE = 0xC000015C,
- MD_NTSTATUS_WIN_STATUS_NT_CROSS_ENCRYPTION_REQUIRED = 0xC000015D,
- MD_NTSTATUS_WIN_STATUS_DOMAIN_CTRLR_CONFIG_ERROR = 0xC000015E,
- MD_NTSTATUS_WIN_STATUS_FT_MISSING_MEMBER = 0xC000015F,
- MD_NTSTATUS_WIN_STATUS_ILL_FORMED_SERVICE_ENTRY = 0xC0000160,
- MD_NTSTATUS_WIN_STATUS_ILLEGAL_CHARACTER = 0xC0000161,
- MD_NTSTATUS_WIN_STATUS_UNMAPPABLE_CHARACTER = 0xC0000162,
- MD_NTSTATUS_WIN_STATUS_UNDEFINED_CHARACTER = 0xC0000163,
- MD_NTSTATUS_WIN_STATUS_FLOPPY_VOLUME = 0xC0000164,
- MD_NTSTATUS_WIN_STATUS_FLOPPY_ID_MARK_NOT_FOUND = 0xC0000165,
- MD_NTSTATUS_WIN_STATUS_FLOPPY_WRONG_CYLINDER = 0xC0000166,
- MD_NTSTATUS_WIN_STATUS_FLOPPY_UNKNOWN_ERROR = 0xC0000167,
- MD_NTSTATUS_WIN_STATUS_FLOPPY_BAD_REGISTERS = 0xC0000168,
- MD_NTSTATUS_WIN_STATUS_DISK_RECALIBRATE_FAILED = 0xC0000169,
- MD_NTSTATUS_WIN_STATUS_DISK_OPERATION_FAILED = 0xC000016A,
- MD_NTSTATUS_WIN_STATUS_DISK_RESET_FAILED = 0xC000016B,
- MD_NTSTATUS_WIN_STATUS_SHARED_IRQ_BUSY = 0xC000016C,
- MD_NTSTATUS_WIN_STATUS_FT_ORPHANING = 0xC000016D,
- MD_NTSTATUS_WIN_STATUS_BIOS_FAILED_TO_CONNECT_INTERRUPT = 0xC000016E,
- MD_NTSTATUS_WIN_STATUS_PARTITION_FAILURE = 0xC0000172,
- MD_NTSTATUS_WIN_STATUS_INVALID_BLOCK_LENGTH = 0xC0000173,
- MD_NTSTATUS_WIN_STATUS_DEVICE_NOT_PARTITIONED = 0xC0000174,
- MD_NTSTATUS_WIN_STATUS_UNABLE_TO_LOCK_MEDIA = 0xC0000175,
- MD_NTSTATUS_WIN_STATUS_UNABLE_TO_UNLOAD_MEDIA = 0xC0000176,
- MD_NTSTATUS_WIN_STATUS_EOM_OVERFLOW = 0xC0000177,
- MD_NTSTATUS_WIN_STATUS_NO_MEDIA = 0xC0000178,
- MD_NTSTATUS_WIN_STATUS_NO_SUCH_MEMBER = 0xC000017A,
- MD_NTSTATUS_WIN_STATUS_INVALID_MEMBER = 0xC000017B,
- MD_NTSTATUS_WIN_STATUS_KEY_DELETED = 0xC000017C,
- MD_NTSTATUS_WIN_STATUS_NO_LOG_SPACE = 0xC000017D,
- MD_NTSTATUS_WIN_STATUS_TOO_MANY_SIDS = 0xC000017E,
- MD_NTSTATUS_WIN_STATUS_LM_CROSS_ENCRYPTION_REQUIRED = 0xC000017F,
- MD_NTSTATUS_WIN_STATUS_KEY_HAS_CHILDREN = 0xC0000180,
- MD_NTSTATUS_WIN_STATUS_CHILD_MUST_BE_VOLATILE = 0xC0000181,
- MD_NTSTATUS_WIN_STATUS_DEVICE_CONFIGURATION_ERROR = 0xC0000182,
- MD_NTSTATUS_WIN_STATUS_DRIVER_INTERNAL_ERROR = 0xC0000183,
- MD_NTSTATUS_WIN_STATUS_INVALID_DEVICE_STATE = 0xC0000184,
- MD_NTSTATUS_WIN_STATUS_IO_DEVICE_ERROR = 0xC0000185,
- MD_NTSTATUS_WIN_STATUS_DEVICE_PROTOCOL_ERROR = 0xC0000186,
- MD_NTSTATUS_WIN_STATUS_BACKUP_CONTROLLER = 0xC0000187,
- MD_NTSTATUS_WIN_STATUS_LOG_FILE_FULL = 0xC0000188,
- MD_NTSTATUS_WIN_STATUS_TOO_LATE = 0xC0000189,
- MD_NTSTATUS_WIN_STATUS_NO_TRUST_LSA_SECRET = 0xC000018A,
- MD_NTSTATUS_WIN_STATUS_NO_TRUST_SAM_ACCOUNT = 0xC000018B,
- MD_NTSTATUS_WIN_STATUS_TRUSTED_DOMAIN_FAILURE = 0xC000018C,
- MD_NTSTATUS_WIN_STATUS_TRUSTED_RELATIONSHIP_FAILURE = 0xC000018D,
- MD_NTSTATUS_WIN_STATUS_EVENTLOG_FILE_CORRUPT = 0xC000018E,
- MD_NTSTATUS_WIN_STATUS_EVENTLOG_CANT_START = 0xC000018F,
- MD_NTSTATUS_WIN_STATUS_TRUST_FAILURE = 0xC0000190,
- MD_NTSTATUS_WIN_STATUS_MUTANT_LIMIT_EXCEEDED = 0xC0000191,
- MD_NTSTATUS_WIN_STATUS_NETLOGON_NOT_STARTED = 0xC0000192,
- MD_NTSTATUS_WIN_STATUS_ACCOUNT_EXPIRED = 0xC0000193,
- MD_NTSTATUS_WIN_STATUS_POSSIBLE_DEADLOCK = 0xC0000194,
- MD_NTSTATUS_WIN_STATUS_NETWORK_CREDENTIAL_CONFLICT = 0xC0000195,
- MD_NTSTATUS_WIN_STATUS_REMOTE_SESSION_LIMIT = 0xC0000196,
- MD_NTSTATUS_WIN_STATUS_EVENTLOG_FILE_CHANGED = 0xC0000197,
- MD_NTSTATUS_WIN_STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT = 0xC0000198,
- MD_NTSTATUS_WIN_STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT = 0xC0000199,
- MD_NTSTATUS_WIN_STATUS_NOLOGON_SERVER_TRUST_ACCOUNT = 0xC000019A,
- MD_NTSTATUS_WIN_STATUS_DOMAIN_TRUST_INCONSISTENT = 0xC000019B,
- MD_NTSTATUS_WIN_STATUS_FS_DRIVER_REQUIRED = 0xC000019C,
- MD_NTSTATUS_WIN_STATUS_IMAGE_ALREADY_LOADED_AS_DLL = 0xC000019D,
- MD_NTSTATUS_WIN_STATUS_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING = 0xC000019E,
- MD_NTSTATUS_WIN_STATUS_SHORT_NAMES_NOT_ENABLED_ON_VOLUME = 0xC000019F,
- MD_NTSTATUS_WIN_STATUS_SECURITY_STREAM_IS_INCONSISTENT = 0xC00001A0,
- MD_NTSTATUS_WIN_STATUS_INVALID_LOCK_RANGE = 0xC00001A1,
- MD_NTSTATUS_WIN_STATUS_INVALID_ACE_CONDITION = 0xC00001A2,
- MD_NTSTATUS_WIN_STATUS_IMAGE_SUBSYSTEM_NOT_PRESENT = 0xC00001A3,
- MD_NTSTATUS_WIN_STATUS_NOTIFICATION_GUID_ALREADY_DEFINED = 0xC00001A4,
- MD_NTSTATUS_WIN_STATUS_INVALID_EXCEPTION_HANDLER = 0xC00001A5,
- MD_NTSTATUS_WIN_STATUS_DUPLICATE_PRIVILEGES = 0xC00001A6,
- MD_NTSTATUS_WIN_STATUS_NOT_ALLOWED_ON_SYSTEM_FILE = 0xC00001A7,
- MD_NTSTATUS_WIN_STATUS_REPAIR_NEEDED = 0xC00001A8,
- MD_NTSTATUS_WIN_STATUS_QUOTA_NOT_ENABLED = 0xC00001A9,
- MD_NTSTATUS_WIN_STATUS_NO_APPLICATION_PACKAGE = 0xC00001AA,
- MD_NTSTATUS_WIN_STATUS_NETWORK_OPEN_RESTRICTION = 0xC0000201,
- MD_NTSTATUS_WIN_STATUS_NO_USER_SESSION_KEY = 0xC0000202,
- MD_NTSTATUS_WIN_STATUS_USER_SESSION_DELETED = 0xC0000203,
- MD_NTSTATUS_WIN_STATUS_RESOURCE_LANG_NOT_FOUND = 0xC0000204,
- MD_NTSTATUS_WIN_STATUS_INSUFF_SERVER_RESOURCES = 0xC0000205,
- MD_NTSTATUS_WIN_STATUS_INVALID_BUFFER_SIZE = 0xC0000206,
- MD_NTSTATUS_WIN_STATUS_INVALID_ADDRESS_COMPONENT = 0xC0000207,
- MD_NTSTATUS_WIN_STATUS_INVALID_ADDRESS_WILDCARD = 0xC0000208,
- MD_NTSTATUS_WIN_STATUS_TOO_MANY_ADDRESSES = 0xC0000209,
- MD_NTSTATUS_WIN_STATUS_ADDRESS_ALREADY_EXISTS = 0xC000020A,
- MD_NTSTATUS_WIN_STATUS_ADDRESS_CLOSED = 0xC000020B,
- MD_NTSTATUS_WIN_STATUS_CONNECTION_DISCONNECTED = 0xC000020C,
- MD_NTSTATUS_WIN_STATUS_CONNECTION_RESET = 0xC000020D,
- MD_NTSTATUS_WIN_STATUS_TOO_MANY_NODES = 0xC000020E,
- MD_NTSTATUS_WIN_STATUS_TRANSACTION_ABORTED = 0xC000020F,
- MD_NTSTATUS_WIN_STATUS_TRANSACTION_TIMED_OUT = 0xC0000210,
- MD_NTSTATUS_WIN_STATUS_TRANSACTION_NO_RELEASE = 0xC0000211,
- MD_NTSTATUS_WIN_STATUS_TRANSACTION_NO_MATCH = 0xC0000212,
- MD_NTSTATUS_WIN_STATUS_TRANSACTION_RESPONDED = 0xC0000213,
- MD_NTSTATUS_WIN_STATUS_TRANSACTION_INVALID_ID = 0xC0000214,
- MD_NTSTATUS_WIN_STATUS_TRANSACTION_INVALID_TYPE = 0xC0000215,
- MD_NTSTATUS_WIN_STATUS_NOT_SERVER_SESSION = 0xC0000216,
- MD_NTSTATUS_WIN_STATUS_NOT_CLIENT_SESSION = 0xC0000217,
- MD_NTSTATUS_WIN_STATUS_CANNOT_LOAD_REGISTRY_FILE = 0xC0000218,
- MD_NTSTATUS_WIN_STATUS_DEBUG_ATTACH_FAILED = 0xC0000219,
- MD_NTSTATUS_WIN_STATUS_SYSTEM_PROCESS_TERMINATED = 0xC000021A,
- MD_NTSTATUS_WIN_STATUS_DATA_NOT_ACCEPTED = 0xC000021B,
- MD_NTSTATUS_WIN_STATUS_NO_BROWSER_SERVERS_FOUND = 0xC000021C,
- MD_NTSTATUS_WIN_STATUS_VDM_HARD_ERROR = 0xC000021D,
- MD_NTSTATUS_WIN_STATUS_DRIVER_CANCEL_TIMEOUT = 0xC000021E,
- MD_NTSTATUS_WIN_STATUS_REPLY_MESSAGE_MISMATCH = 0xC000021F,
- MD_NTSTATUS_WIN_STATUS_MAPPED_ALIGNMENT = 0xC0000220,
- MD_NTSTATUS_WIN_STATUS_IMAGE_CHECKSUM_MISMATCH = 0xC0000221,
- MD_NTSTATUS_WIN_STATUS_LOST_WRITEBEHIND_DATA = 0xC0000222,
- MD_NTSTATUS_WIN_STATUS_CLIENT_SERVER_PARAMETERS_INVALID = 0xC0000223,
- MD_NTSTATUS_WIN_STATUS_PASSWORD_MUST_CHANGE = 0xC0000224,
- MD_NTSTATUS_WIN_STATUS_NOT_FOUND = 0xC0000225,
- MD_NTSTATUS_WIN_STATUS_NOT_TINY_STREAM = 0xC0000226,
- MD_NTSTATUS_WIN_STATUS_RECOVERY_FAILURE = 0xC0000227,
- MD_NTSTATUS_WIN_STATUS_STACK_OVERFLOW_READ = 0xC0000228,
- MD_NTSTATUS_WIN_STATUS_FAIL_CHECK = 0xC0000229,
- MD_NTSTATUS_WIN_STATUS_DUPLICATE_OBJECTID = 0xC000022A,
- MD_NTSTATUS_WIN_STATUS_OBJECTID_EXISTS = 0xC000022B,
- MD_NTSTATUS_WIN_STATUS_CONVERT_TO_LARGE = 0xC000022C,
- MD_NTSTATUS_WIN_STATUS_RETRY = 0xC000022D,
- MD_NTSTATUS_WIN_STATUS_FOUND_OUT_OF_SCOPE = 0xC000022E,
- MD_NTSTATUS_WIN_STATUS_ALLOCATE_BUCKET = 0xC000022F,
- MD_NTSTATUS_WIN_STATUS_PROPSET_NOT_FOUND = 0xC0000230,
- MD_NTSTATUS_WIN_STATUS_MARSHALL_OVERFLOW = 0xC0000231,
- MD_NTSTATUS_WIN_STATUS_INVALID_VARIANT = 0xC0000232,
- MD_NTSTATUS_WIN_STATUS_DOMAIN_CONTROLLER_NOT_FOUND = 0xC0000233,
- MD_NTSTATUS_WIN_STATUS_ACCOUNT_LOCKED_OUT = 0xC0000234,
- MD_NTSTATUS_WIN_STATUS_HANDLE_NOT_CLOSABLE = 0xC0000235,
- MD_NTSTATUS_WIN_STATUS_CONNECTION_REFUSED = 0xC0000236,
- MD_NTSTATUS_WIN_STATUS_GRACEFUL_DISCONNECT = 0xC0000237,
- MD_NTSTATUS_WIN_STATUS_ADDRESS_ALREADY_ASSOCIATED = 0xC0000238,
- MD_NTSTATUS_WIN_STATUS_ADDRESS_NOT_ASSOCIATED = 0xC0000239,
- MD_NTSTATUS_WIN_STATUS_CONNECTION_INVALID = 0xC000023A,
- MD_NTSTATUS_WIN_STATUS_CONNECTION_ACTIVE = 0xC000023B,
- MD_NTSTATUS_WIN_STATUS_NETWORK_UNREACHABLE = 0xC000023C,
- MD_NTSTATUS_WIN_STATUS_HOST_UNREACHABLE = 0xC000023D,
- MD_NTSTATUS_WIN_STATUS_PROTOCOL_UNREACHABLE = 0xC000023E,
- MD_NTSTATUS_WIN_STATUS_PORT_UNREACHABLE = 0xC000023F,
- MD_NTSTATUS_WIN_STATUS_REQUEST_ABORTED = 0xC0000240,
- MD_NTSTATUS_WIN_STATUS_CONNECTION_ABORTED = 0xC0000241,
- MD_NTSTATUS_WIN_STATUS_BAD_COMPRESSION_BUFFER = 0xC0000242,
- MD_NTSTATUS_WIN_STATUS_USER_MAPPED_FILE = 0xC0000243,
- MD_NTSTATUS_WIN_STATUS_AUDIT_FAILED = 0xC0000244,
- MD_NTSTATUS_WIN_STATUS_TIMER_RESOLUTION_NOT_SET = 0xC0000245,
- MD_NTSTATUS_WIN_STATUS_CONNECTION_COUNT_LIMIT = 0xC0000246,
- MD_NTSTATUS_WIN_STATUS_LOGIN_TIME_RESTRICTION = 0xC0000247,
- MD_NTSTATUS_WIN_STATUS_LOGIN_WKSTA_RESTRICTION = 0xC0000248,
- MD_NTSTATUS_WIN_STATUS_IMAGE_MP_UP_MISMATCH = 0xC0000249,
- MD_NTSTATUS_WIN_STATUS_INSUFFICIENT_LOGON_INFO = 0xC0000250,
- MD_NTSTATUS_WIN_STATUS_BAD_DLL_ENTRYPOINT = 0xC0000251,
- MD_NTSTATUS_WIN_STATUS_BAD_SERVICE_ENTRYPOINT = 0xC0000252,
- MD_NTSTATUS_WIN_STATUS_LPC_REPLY_LOST = 0xC0000253,
- MD_NTSTATUS_WIN_STATUS_IP_ADDRESS_CONFLICT1 = 0xC0000254,
- MD_NTSTATUS_WIN_STATUS_IP_ADDRESS_CONFLICT2 = 0xC0000255,
- MD_NTSTATUS_WIN_STATUS_REGISTRY_QUOTA_LIMIT = 0xC0000256,
- MD_NTSTATUS_WIN_STATUS_PATH_NOT_COVERED = 0xC0000257,
- MD_NTSTATUS_WIN_STATUS_NO_CALLBACK_ACTIVE = 0xC0000258,
- MD_NTSTATUS_WIN_STATUS_LICENSE_QUOTA_EXCEEDED = 0xC0000259,
- MD_NTSTATUS_WIN_STATUS_PWD_TOO_SHORT = 0xC000025A,
- MD_NTSTATUS_WIN_STATUS_PWD_TOO_RECENT = 0xC000025B,
- MD_NTSTATUS_WIN_STATUS_PWD_HISTORY_CONFLICT = 0xC000025C,
- MD_NTSTATUS_WIN_STATUS_PLUGPLAY_NO_DEVICE = 0xC000025E,
- MD_NTSTATUS_WIN_STATUS_UNSUPPORTED_COMPRESSION = 0xC000025F,
- MD_NTSTATUS_WIN_STATUS_INVALID_HW_PROFILE = 0xC0000260,
- MD_NTSTATUS_WIN_STATUS_INVALID_PLUGPLAY_DEVICE_PATH = 0xC0000261,
- MD_NTSTATUS_WIN_STATUS_DRIVER_ORDINAL_NOT_FOUND = 0xC0000262,
- MD_NTSTATUS_WIN_STATUS_DRIVER_ENTRYPOINT_NOT_FOUND = 0xC0000263,
- MD_NTSTATUS_WIN_STATUS_RESOURCE_NOT_OWNED = 0xC0000264,
- MD_NTSTATUS_WIN_STATUS_TOO_MANY_LINKS = 0xC0000265,
- MD_NTSTATUS_WIN_STATUS_QUOTA_LIST_INCONSISTENT = 0xC0000266,
- MD_NTSTATUS_WIN_STATUS_FILE_IS_OFFLINE = 0xC0000267,
- MD_NTSTATUS_WIN_STATUS_EVALUATION_EXPIRATION = 0xC0000268,
- MD_NTSTATUS_WIN_STATUS_ILLEGAL_DLL_RELOCATION = 0xC0000269,
- MD_NTSTATUS_WIN_STATUS_LICENSE_VIOLATION = 0xC000026A,
- MD_NTSTATUS_WIN_STATUS_DLL_INIT_FAILED_LOGOFF = 0xC000026B,
- MD_NTSTATUS_WIN_STATUS_DRIVER_UNABLE_TO_LOAD = 0xC000026C,
- MD_NTSTATUS_WIN_STATUS_DFS_UNAVAILABLE = 0xC000026D,
- MD_NTSTATUS_WIN_STATUS_VOLUME_DISMOUNTED = 0xC000026E,
- MD_NTSTATUS_WIN_STATUS_WX86_INTERNAL_ERROR = 0xC000026F,
- MD_NTSTATUS_WIN_STATUS_WX86_FLOAT_STACK_CHECK = 0xC0000270,
- MD_NTSTATUS_WIN_STATUS_VALIDATE_CONTINUE = 0xC0000271,
- MD_NTSTATUS_WIN_STATUS_NO_MATCH = 0xC0000272,
- MD_NTSTATUS_WIN_STATUS_NO_MORE_MATCHES = 0xC0000273,
- MD_NTSTATUS_WIN_STATUS_NOT_A_REPARSE_POINT = 0xC0000275,
- MD_NTSTATUS_WIN_STATUS_IO_REPARSE_TAG_INVALID = 0xC0000276,
- MD_NTSTATUS_WIN_STATUS_IO_REPARSE_TAG_MISMATCH = 0xC0000277,
- MD_NTSTATUS_WIN_STATUS_IO_REPARSE_DATA_INVALID = 0xC0000278,
- MD_NTSTATUS_WIN_STATUS_IO_REPARSE_TAG_NOT_HANDLED = 0xC0000279,
- MD_NTSTATUS_WIN_STATUS_PWD_TOO_LONG = 0xC000027A,
- MD_NTSTATUS_WIN_STATUS_STOWED_EXCEPTION = 0xC000027B,
- MD_NTSTATUS_WIN_STATUS_REPARSE_POINT_NOT_RESOLVED = 0xC0000280,
- MD_NTSTATUS_WIN_STATUS_DIRECTORY_IS_A_REPARSE_POINT = 0xC0000281,
- MD_NTSTATUS_WIN_STATUS_RANGE_LIST_CONFLICT = 0xC0000282,
- MD_NTSTATUS_WIN_STATUS_SOURCE_ELEMENT_EMPTY = 0xC0000283,
- MD_NTSTATUS_WIN_STATUS_DESTINATION_ELEMENT_FULL = 0xC0000284,
- MD_NTSTATUS_WIN_STATUS_ILLEGAL_ELEMENT_ADDRESS = 0xC0000285,
- MD_NTSTATUS_WIN_STATUS_MAGAZINE_NOT_PRESENT = 0xC0000286,
- MD_NTSTATUS_WIN_STATUS_REINITIALIZATION_NEEDED = 0xC0000287,
- MD_NTSTATUS_WIN_STATUS_ENCRYPTION_FAILED = 0xC000028A,
- MD_NTSTATUS_WIN_STATUS_DECRYPTION_FAILED = 0xC000028B,
- MD_NTSTATUS_WIN_STATUS_RANGE_NOT_FOUND = 0xC000028C,
- MD_NTSTATUS_WIN_STATUS_NO_RECOVERY_POLICY = 0xC000028D,
- MD_NTSTATUS_WIN_STATUS_NO_EFS = 0xC000028E,
- MD_NTSTATUS_WIN_STATUS_WRONG_EFS = 0xC000028F,
- MD_NTSTATUS_WIN_STATUS_NO_USER_KEYS = 0xC0000290,
- MD_NTSTATUS_WIN_STATUS_FILE_NOT_ENCRYPTED = 0xC0000291,
- MD_NTSTATUS_WIN_STATUS_NOT_EXPORT_FORMAT = 0xC0000292,
- MD_NTSTATUS_WIN_STATUS_FILE_ENCRYPTED = 0xC0000293,
- MD_NTSTATUS_WIN_STATUS_WMI_GUID_NOT_FOUND = 0xC0000295,
- MD_NTSTATUS_WIN_STATUS_WMI_INSTANCE_NOT_FOUND = 0xC0000296,
- MD_NTSTATUS_WIN_STATUS_WMI_ITEMID_NOT_FOUND = 0xC0000297,
- MD_NTSTATUS_WIN_STATUS_WMI_TRY_AGAIN = 0xC0000298,
- MD_NTSTATUS_WIN_STATUS_SHARED_POLICY = 0xC0000299,
- MD_NTSTATUS_WIN_STATUS_POLICY_OBJECT_NOT_FOUND = 0xC000029A,
- MD_NTSTATUS_WIN_STATUS_POLICY_ONLY_IN_DS = 0xC000029B,
- MD_NTSTATUS_WIN_STATUS_VOLUME_NOT_UPGRADED = 0xC000029C,
- MD_NTSTATUS_WIN_STATUS_REMOTE_STORAGE_NOT_ACTIVE = 0xC000029D,
- MD_NTSTATUS_WIN_STATUS_REMOTE_STORAGE_MEDIA_ERROR = 0xC000029E,
- MD_NTSTATUS_WIN_STATUS_NO_TRACKING_SERVICE = 0xC000029F,
- MD_NTSTATUS_WIN_STATUS_SERVER_SID_MISMATCH = 0xC00002A0,
- MD_NTSTATUS_WIN_STATUS_DS_NO_ATTRIBUTE_OR_VALUE = 0xC00002A1,
- MD_NTSTATUS_WIN_STATUS_DS_INVALID_ATTRIBUTE_SYNTAX = 0xC00002A2,
- MD_NTSTATUS_WIN_STATUS_DS_ATTRIBUTE_TYPE_UNDEFINED = 0xC00002A3,
- MD_NTSTATUS_WIN_STATUS_DS_ATTRIBUTE_OR_VALUE_EXISTS = 0xC00002A4,
- MD_NTSTATUS_WIN_STATUS_DS_BUSY = 0xC00002A5,
- MD_NTSTATUS_WIN_STATUS_DS_UNAVAILABLE = 0xC00002A6,
- MD_NTSTATUS_WIN_STATUS_DS_NO_RIDS_ALLOCATED = 0xC00002A7,
- MD_NTSTATUS_WIN_STATUS_DS_NO_MORE_RIDS = 0xC00002A8,
- MD_NTSTATUS_WIN_STATUS_DS_INCORRECT_ROLE_OWNER = 0xC00002A9,
- MD_NTSTATUS_WIN_STATUS_DS_RIDMGR_INIT_ERROR = 0xC00002AA,
- MD_NTSTATUS_WIN_STATUS_DS_OBJ_CLASS_VIOLATION = 0xC00002AB,
- MD_NTSTATUS_WIN_STATUS_DS_CANT_ON_NON_LEAF = 0xC00002AC,
- MD_NTSTATUS_WIN_STATUS_DS_CANT_ON_RDN = 0xC00002AD,
- MD_NTSTATUS_WIN_STATUS_DS_CANT_MOD_OBJ_CLASS = 0xC00002AE,
- MD_NTSTATUS_WIN_STATUS_DS_CROSS_DOM_MOVE_FAILED = 0xC00002AF,
- MD_NTSTATUS_WIN_STATUS_DS_GC_NOT_AVAILABLE = 0xC00002B0,
- MD_NTSTATUS_WIN_STATUS_DIRECTORY_SERVICE_REQUIRED = 0xC00002B1,
- MD_NTSTATUS_WIN_STATUS_REPARSE_ATTRIBUTE_CONFLICT = 0xC00002B2,
- MD_NTSTATUS_WIN_STATUS_CANT_ENABLE_DENY_ONLY = 0xC00002B3,
- MD_NTSTATUS_WIN_STATUS_FLOAT_MULTIPLE_FAULTS = 0xC00002B4,
- MD_NTSTATUS_WIN_STATUS_FLOAT_MULTIPLE_TRAPS = 0xC00002B5,
- MD_NTSTATUS_WIN_STATUS_DEVICE_REMOVED = 0xC00002B6,
- MD_NTSTATUS_WIN_STATUS_JOURNAL_DELETE_IN_PROGRESS = 0xC00002B7,
- MD_NTSTATUS_WIN_STATUS_JOURNAL_NOT_ACTIVE = 0xC00002B8,
- MD_NTSTATUS_WIN_STATUS_NOINTERFACE = 0xC00002B9,
- MD_NTSTATUS_WIN_STATUS_DS_RIDMGR_DISABLED = 0xC00002BA,
- MD_NTSTATUS_WIN_STATUS_DS_ADMIN_LIMIT_EXCEEDED = 0xC00002C1,
- MD_NTSTATUS_WIN_STATUS_DRIVER_FAILED_SLEEP = 0xC00002C2,
- MD_NTSTATUS_WIN_STATUS_MUTUAL_AUTHENTICATION_FAILED = 0xC00002C3,
- MD_NTSTATUS_WIN_STATUS_CORRUPT_SYSTEM_FILE = 0xC00002C4,
- MD_NTSTATUS_WIN_STATUS_DATATYPE_MISALIGNMENT_ERROR = 0xC00002C5,
- MD_NTSTATUS_WIN_STATUS_WMI_READ_ONLY = 0xC00002C6,
- MD_NTSTATUS_WIN_STATUS_WMI_SET_FAILURE = 0xC00002C7,
- MD_NTSTATUS_WIN_STATUS_COMMITMENT_MINIMUM = 0xC00002C8,
- MD_NTSTATUS_WIN_STATUS_REG_NAT_CONSUMPTION = 0xC00002C9,
- MD_NTSTATUS_WIN_STATUS_TRANSPORT_FULL = 0xC00002CA,
- MD_NTSTATUS_WIN_STATUS_DS_SAM_INIT_FAILURE = 0xC00002CB,
- MD_NTSTATUS_WIN_STATUS_ONLY_IF_CONNECTED = 0xC00002CC,
- MD_NTSTATUS_WIN_STATUS_DS_SENSITIVE_GROUP_VIOLATION = 0xC00002CD,
- MD_NTSTATUS_WIN_STATUS_PNP_RESTART_ENUMERATION = 0xC00002CE,
- MD_NTSTATUS_WIN_STATUS_JOURNAL_ENTRY_DELETED = 0xC00002CF,
- MD_NTSTATUS_WIN_STATUS_DS_CANT_MOD_PRIMARYGROUPID = 0xC00002D0,
- MD_NTSTATUS_WIN_STATUS_SYSTEM_IMAGE_BAD_SIGNATURE = 0xC00002D1,
- MD_NTSTATUS_WIN_STATUS_PNP_REBOOT_REQUIRED = 0xC00002D2,
- MD_NTSTATUS_WIN_STATUS_POWER_STATE_INVALID = 0xC00002D3,
- MD_NTSTATUS_WIN_STATUS_DS_INVALID_GROUP_TYPE = 0xC00002D4,
- MD_NTSTATUS_WIN_STATUS_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN = 0xC00002D5,
- MD_NTSTATUS_WIN_STATUS_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN = 0xC00002D6,
- MD_NTSTATUS_WIN_STATUS_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER = 0xC00002D7,
- MD_NTSTATUS_WIN_STATUS_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER = 0xC00002D8,
- MD_NTSTATUS_WIN_STATUS_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER = 0xC00002D9,
- MD_NTSTATUS_WIN_STATUS_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER = 0xC00002DA,
- MD_NTSTATUS_WIN_STATUS_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER = 0xC00002DB,
- MD_NTSTATUS_WIN_STATUS_DS_HAVE_PRIMARY_MEMBERS = 0xC00002DC,
- MD_NTSTATUS_WIN_STATUS_WMI_NOT_SUPPORTED = 0xC00002DD,
- MD_NTSTATUS_WIN_STATUS_INSUFFICIENT_POWER = 0xC00002DE,
- MD_NTSTATUS_WIN_STATUS_SAM_NEED_BOOTKEY_PASSWORD = 0xC00002DF,
- MD_NTSTATUS_WIN_STATUS_SAM_NEED_BOOTKEY_FLOPPY = 0xC00002E0,
- MD_NTSTATUS_WIN_STATUS_DS_CANT_START = 0xC00002E1,
- MD_NTSTATUS_WIN_STATUS_DS_INIT_FAILURE = 0xC00002E2,
- MD_NTSTATUS_WIN_STATUS_SAM_INIT_FAILURE = 0xC00002E3,
- MD_NTSTATUS_WIN_STATUS_DS_GC_REQUIRED = 0xC00002E4,
- MD_NTSTATUS_WIN_STATUS_DS_LOCAL_MEMBER_OF_LOCAL_ONLY = 0xC00002E5,
- MD_NTSTATUS_WIN_STATUS_DS_NO_FPO_IN_UNIVERSAL_GROUPS = 0xC00002E6,
- MD_NTSTATUS_WIN_STATUS_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED = 0xC00002E7,
- MD_NTSTATUS_WIN_STATUS_MULTIPLE_FAULT_VIOLATION = 0xC00002E8,
- MD_NTSTATUS_WIN_STATUS_CURRENT_DOMAIN_NOT_ALLOWED = 0xC00002E9,
- MD_NTSTATUS_WIN_STATUS_CANNOT_MAKE = 0xC00002EA,
- MD_NTSTATUS_WIN_STATUS_SYSTEM_SHUTDOWN = 0xC00002EB,
- MD_NTSTATUS_WIN_STATUS_DS_INIT_FAILURE_CONSOLE = 0xC00002EC,
- MD_NTSTATUS_WIN_STATUS_DS_SAM_INIT_FAILURE_CONSOLE = 0xC00002ED,
- MD_NTSTATUS_WIN_STATUS_UNFINISHED_CONTEXT_DELETED = 0xC00002EE,
- MD_NTSTATUS_WIN_STATUS_NO_TGT_REPLY = 0xC00002EF,
- MD_NTSTATUS_WIN_STATUS_OBJECTID_NOT_FOUND = 0xC00002F0,
- MD_NTSTATUS_WIN_STATUS_NO_IP_ADDRESSES = 0xC00002F1,
- MD_NTSTATUS_WIN_STATUS_WRONG_CREDENTIAL_HANDLE = 0xC00002F2,
- MD_NTSTATUS_WIN_STATUS_CRYPTO_SYSTEM_INVALID = 0xC00002F3,
- MD_NTSTATUS_WIN_STATUS_MAX_REFERRALS_EXCEEDED = 0xC00002F4,
- MD_NTSTATUS_WIN_STATUS_MUST_BE_KDC = 0xC00002F5,
- MD_NTSTATUS_WIN_STATUS_STRONG_CRYPTO_NOT_SUPPORTED = 0xC00002F6,
- MD_NTSTATUS_WIN_STATUS_TOO_MANY_PRINCIPALS = 0xC00002F7,
- MD_NTSTATUS_WIN_STATUS_NO_PA_DATA = 0xC00002F8,
- MD_NTSTATUS_WIN_STATUS_PKINIT_NAME_MISMATCH = 0xC00002F9,
- MD_NTSTATUS_WIN_STATUS_SMARTCARD_LOGON_REQUIRED = 0xC00002FA,
- MD_NTSTATUS_WIN_STATUS_KDC_INVALID_REQUEST = 0xC00002FB,
- MD_NTSTATUS_WIN_STATUS_KDC_UNABLE_TO_REFER = 0xC00002FC,
- MD_NTSTATUS_WIN_STATUS_KDC_UNKNOWN_ETYPE = 0xC00002FD,
- MD_NTSTATUS_WIN_STATUS_SHUTDOWN_IN_PROGRESS = 0xC00002FE,
- MD_NTSTATUS_WIN_STATUS_SERVER_SHUTDOWN_IN_PROGRESS = 0xC00002FF,
- MD_NTSTATUS_WIN_STATUS_NOT_SUPPORTED_ON_SBS = 0xC0000300,
- MD_NTSTATUS_WIN_STATUS_WMI_GUID_DISCONNECTED = 0xC0000301,
- MD_NTSTATUS_WIN_STATUS_WMI_ALREADY_DISABLED = 0xC0000302,
- MD_NTSTATUS_WIN_STATUS_WMI_ALREADY_ENABLED = 0xC0000303,
- MD_NTSTATUS_WIN_STATUS_MFT_TOO_FRAGMENTED = 0xC0000304,
- MD_NTSTATUS_WIN_STATUS_COPY_PROTECTION_FAILURE = 0xC0000305,
- MD_NTSTATUS_WIN_STATUS_CSS_AUTHENTICATION_FAILURE = 0xC0000306,
- MD_NTSTATUS_WIN_STATUS_CSS_KEY_NOT_PRESENT = 0xC0000307,
- MD_NTSTATUS_WIN_STATUS_CSS_KEY_NOT_ESTABLISHED = 0xC0000308,
- MD_NTSTATUS_WIN_STATUS_CSS_SCRAMBLED_SECTOR = 0xC0000309,
- MD_NTSTATUS_WIN_STATUS_CSS_REGION_MISMATCH = 0xC000030A,
- MD_NTSTATUS_WIN_STATUS_CSS_RESETS_EXHAUSTED = 0xC000030B,
- MD_NTSTATUS_WIN_STATUS_PASSWORD_CHANGE_REQUIRED = 0xC000030C,
- MD_NTSTATUS_WIN_STATUS_PKINIT_FAILURE = 0xC0000320,
- MD_NTSTATUS_WIN_STATUS_SMARTCARD_SUBSYSTEM_FAILURE = 0xC0000321,
- MD_NTSTATUS_WIN_STATUS_NO_KERB_KEY = 0xC0000322,
- MD_NTSTATUS_WIN_STATUS_HOST_DOWN = 0xC0000350,
- MD_NTSTATUS_WIN_STATUS_UNSUPPORTED_PREAUTH = 0xC0000351,
- MD_NTSTATUS_WIN_STATUS_EFS_ALG_BLOB_TOO_BIG = 0xC0000352,
- MD_NTSTATUS_WIN_STATUS_PORT_NOT_SET = 0xC0000353,
- MD_NTSTATUS_WIN_STATUS_DEBUGGER_INACTIVE = 0xC0000354,
- MD_NTSTATUS_WIN_STATUS_DS_VERSION_CHECK_FAILURE = 0xC0000355,
- MD_NTSTATUS_WIN_STATUS_AUDITING_DISABLED = 0xC0000356,
- MD_NTSTATUS_WIN_STATUS_PRENT4_MACHINE_ACCOUNT = 0xC0000357,
- MD_NTSTATUS_WIN_STATUS_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER = 0xC0000358,
- MD_NTSTATUS_WIN_STATUS_INVALID_IMAGE_WIN_32 = 0xC0000359,
- MD_NTSTATUS_WIN_STATUS_INVALID_IMAGE_WIN_64 = 0xC000035A,
- MD_NTSTATUS_WIN_STATUS_BAD_BINDINGS = 0xC000035B,
- MD_NTSTATUS_WIN_STATUS_NETWORK_SESSION_EXPIRED = 0xC000035C,
- MD_NTSTATUS_WIN_STATUS_APPHELP_BLOCK = 0xC000035D,
- MD_NTSTATUS_WIN_STATUS_ALL_SIDS_FILTERED = 0xC000035E,
- MD_NTSTATUS_WIN_STATUS_NOT_SAFE_MODE_DRIVER = 0xC000035F,
- MD_NTSTATUS_WIN_STATUS_ACCESS_DISABLED_BY_POLICY_DEFAULT = 0xC0000361,
- MD_NTSTATUS_WIN_STATUS_ACCESS_DISABLED_BY_POLICY_PATH = 0xC0000362,
- MD_NTSTATUS_WIN_STATUS_ACCESS_DISABLED_BY_POLICY_PUBLISHER = 0xC0000363,
- MD_NTSTATUS_WIN_STATUS_ACCESS_DISABLED_BY_POLICY_OTHER = 0xC0000364,
- MD_NTSTATUS_WIN_STATUS_FAILED_DRIVER_ENTRY = 0xC0000365,
- MD_NTSTATUS_WIN_STATUS_DEVICE_ENUMERATION_ERROR = 0xC0000366,
- MD_NTSTATUS_WIN_STATUS_MOUNT_POINT_NOT_RESOLVED = 0xC0000368,
- MD_NTSTATUS_WIN_STATUS_INVALID_DEVICE_OBJECT_PARAMETER = 0xC0000369,
- MD_NTSTATUS_WIN_STATUS_MCA_OCCURED = 0xC000036A,
- MD_NTSTATUS_WIN_STATUS_DRIVER_BLOCKED_CRITICAL = 0xC000036B,
- MD_NTSTATUS_WIN_STATUS_DRIVER_BLOCKED = 0xC000036C,
- MD_NTSTATUS_WIN_STATUS_DRIVER_DATABASE_ERROR = 0xC000036D,
- MD_NTSTATUS_WIN_STATUS_SYSTEM_HIVE_TOO_LARGE = 0xC000036E,
- MD_NTSTATUS_WIN_STATUS_INVALID_IMPORT_OF_NON_DLL = 0xC000036F,
- MD_NTSTATUS_WIN_STATUS_NO_SECRETS = 0xC0000371,
- MD_NTSTATUS_WIN_STATUS_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY = 0xC0000372,
- MD_NTSTATUS_WIN_STATUS_FAILED_STACK_SWITCH = 0xC0000373,
- MD_NTSTATUS_WIN_STATUS_HEAP_CORRUPTION = 0xC0000374,
- MD_NTSTATUS_WIN_STATUS_SMARTCARD_WRONG_PIN = 0xC0000380,
- MD_NTSTATUS_WIN_STATUS_SMARTCARD_CARD_BLOCKED = 0xC0000381,
- MD_NTSTATUS_WIN_STATUS_SMARTCARD_CARD_NOT_AUTHENTICATED = 0xC0000382,
- MD_NTSTATUS_WIN_STATUS_SMARTCARD_NO_CARD = 0xC0000383,
- MD_NTSTATUS_WIN_STATUS_SMARTCARD_NO_KEY_CONTAINER = 0xC0000384,
- MD_NTSTATUS_WIN_STATUS_SMARTCARD_NO_CERTIFICATE = 0xC0000385,
- MD_NTSTATUS_WIN_STATUS_SMARTCARD_NO_KEYSET = 0xC0000386,
- MD_NTSTATUS_WIN_STATUS_SMARTCARD_IO_ERROR = 0xC0000387,
- MD_NTSTATUS_WIN_STATUS_DOWNGRADE_DETECTED = 0xC0000388,
- MD_NTSTATUS_WIN_STATUS_SMARTCARD_CERT_REVOKED = 0xC0000389,
- MD_NTSTATUS_WIN_STATUS_ISSUING_CA_UNTRUSTED = 0xC000038A,
- MD_NTSTATUS_WIN_STATUS_REVOCATION_OFFLINE_C = 0xC000038B,
- MD_NTSTATUS_WIN_STATUS_PKINIT_CLIENT_FAILURE = 0xC000038C,
- MD_NTSTATUS_WIN_STATUS_SMARTCARD_CERT_EXPIRED = 0xC000038D,
- MD_NTSTATUS_WIN_STATUS_DRIVER_FAILED_PRIOR_UNLOAD = 0xC000038E,
- MD_NTSTATUS_WIN_STATUS_SMARTCARD_SILENT_CONTEXT = 0xC000038F,
- MD_NTSTATUS_WIN_STATUS_PER_USER_TRUST_QUOTA_EXCEEDED = 0xC0000401,
- MD_NTSTATUS_WIN_STATUS_ALL_USER_TRUST_QUOTA_EXCEEDED = 0xC0000402,
- MD_NTSTATUS_WIN_STATUS_USER_DELETE_TRUST_QUOTA_EXCEEDED = 0xC0000403,
- MD_NTSTATUS_WIN_STATUS_DS_NAME_NOT_UNIQUE = 0xC0000404,
- MD_NTSTATUS_WIN_STATUS_DS_DUPLICATE_ID_FOUND = 0xC0000405,
- MD_NTSTATUS_WIN_STATUS_DS_GROUP_CONVERSION_ERROR = 0xC0000406,
- MD_NTSTATUS_WIN_STATUS_VOLSNAP_PREPARE_HIBERNATE = 0xC0000407,
- MD_NTSTATUS_WIN_STATUS_USER2USER_REQUIRED = 0xC0000408,
- MD_NTSTATUS_WIN_STATUS_STACK_BUFFER_OVERRUN = 0xC0000409,
- MD_NTSTATUS_WIN_STATUS_NO_S4U_PROT_SUPPORT = 0xC000040A,
- MD_NTSTATUS_WIN_STATUS_CROSSREALM_DELEGATION_FAILURE = 0xC000040B,
- MD_NTSTATUS_WIN_STATUS_REVOCATION_OFFLINE_KDC = 0xC000040C,
- MD_NTSTATUS_WIN_STATUS_ISSUING_CA_UNTRUSTED_KDC = 0xC000040D,
- MD_NTSTATUS_WIN_STATUS_KDC_CERT_EXPIRED = 0xC000040E,
- MD_NTSTATUS_WIN_STATUS_KDC_CERT_REVOKED = 0xC000040F,
- MD_NTSTATUS_WIN_STATUS_PARAMETER_QUOTA_EXCEEDED = 0xC0000410,
- MD_NTSTATUS_WIN_STATUS_HIBERNATION_FAILURE = 0xC0000411,
- MD_NTSTATUS_WIN_STATUS_DELAY_LOAD_FAILED = 0xC0000412,
- MD_NTSTATUS_WIN_STATUS_AUTHENTICATION_FIREWALL_FAILED = 0xC0000413,
- MD_NTSTATUS_WIN_STATUS_VDM_DISALLOWED = 0xC0000414,
- MD_NTSTATUS_WIN_STATUS_HUNG_DISPLAY_DRIVER_THREAD = 0xC0000415,
- MD_NTSTATUS_WIN_STATUS_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE = 0xC0000416,
- MD_NTSTATUS_WIN_STATUS_INVALID_CRUNTIME_PARAMETER = 0xC0000417,
- MD_NTSTATUS_WIN_STATUS_NTLM_BLOCKED = 0xC0000418,
- MD_NTSTATUS_WIN_STATUS_DS_SRC_SID_EXISTS_IN_FOREST = 0xC0000419,
- MD_NTSTATUS_WIN_STATUS_DS_DOMAIN_NAME_EXISTS_IN_FOREST = 0xC000041A,
- MD_NTSTATUS_WIN_STATUS_DS_FLAT_NAME_EXISTS_IN_FOREST = 0xC000041B,
- MD_NTSTATUS_WIN_STATUS_INVALID_USER_PRINCIPAL_NAME = 0xC000041C,
- MD_NTSTATUS_WIN_STATUS_FATAL_USER_CALLBACK_EXCEPTION = 0xC000041D,
- MD_NTSTATUS_WIN_STATUS_ASSERTION_FAILURE = 0xC0000420,
- MD_NTSTATUS_WIN_STATUS_VERIFIER_STOP = 0xC0000421,
- MD_NTSTATUS_WIN_STATUS_CALLBACK_POP_STACK = 0xC0000423,
- MD_NTSTATUS_WIN_STATUS_INCOMPATIBLE_DRIVER_BLOCKED = 0xC0000424,
- MD_NTSTATUS_WIN_STATUS_HIVE_UNLOADED = 0xC0000425,
- MD_NTSTATUS_WIN_STATUS_COMPRESSION_DISABLED = 0xC0000426,
- MD_NTSTATUS_WIN_STATUS_FILE_SYSTEM_LIMITATION = 0xC0000427,
- MD_NTSTATUS_WIN_STATUS_INVALID_IMAGE_HASH = 0xC0000428,
- MD_NTSTATUS_WIN_STATUS_NOT_CAPABLE = 0xC0000429,
- MD_NTSTATUS_WIN_STATUS_REQUEST_OUT_OF_SEQUENCE = 0xC000042A,
- MD_NTSTATUS_WIN_STATUS_IMPLEMENTATION_LIMIT = 0xC000042B,
- MD_NTSTATUS_WIN_STATUS_ELEVATION_REQUIRED = 0xC000042C,
- MD_NTSTATUS_WIN_STATUS_NO_SECURITY_CONTEXT = 0xC000042D,
- MD_NTSTATUS_WIN_STATUS_PKU2U_CERT_FAILURE = 0xC000042F,
- MD_NTSTATUS_WIN_STATUS_BEYOND_VDL = 0xC0000432,
- MD_NTSTATUS_WIN_STATUS_ENCOUNTERED_WRITE_IN_PROGRESS = 0xC0000433,
- MD_NTSTATUS_WIN_STATUS_PTE_CHANGED = 0xC0000434,
- MD_NTSTATUS_WIN_STATUS_PURGE_FAILED = 0xC0000435,
- MD_NTSTATUS_WIN_STATUS_CRED_REQUIRES_CONFIRMATION = 0xC0000440,
- MD_NTSTATUS_WIN_STATUS_CS_ENCRYPTION_INVALID_SERVER_RESPONSE = 0xC0000441,
- MD_NTSTATUS_WIN_STATUS_CS_ENCRYPTION_UNSUPPORTED_SERVER = 0xC0000442,
- MD_NTSTATUS_WIN_STATUS_CS_ENCRYPTION_EXISTING_ENCRYPTED_FILE = 0xC0000443,
- MD_NTSTATUS_WIN_STATUS_CS_ENCRYPTION_NEW_ENCRYPTED_FILE = 0xC0000444,
- MD_NTSTATUS_WIN_STATUS_CS_ENCRYPTION_FILE_NOT_CSE = 0xC0000445,
- MD_NTSTATUS_WIN_STATUS_INVALID_LABEL = 0xC0000446,
- MD_NTSTATUS_WIN_STATUS_DRIVER_PROCESS_TERMINATED = 0xC0000450,
- MD_NTSTATUS_WIN_STATUS_AMBIGUOUS_SYSTEM_DEVICE = 0xC0000451,
- MD_NTSTATUS_WIN_STATUS_SYSTEM_DEVICE_NOT_FOUND = 0xC0000452,
- MD_NTSTATUS_WIN_STATUS_RESTART_BOOT_APPLICATION = 0xC0000453,
- MD_NTSTATUS_WIN_STATUS_INSUFFICIENT_NVRAM_RESOURCES = 0xC0000454,
- MD_NTSTATUS_WIN_STATUS_INVALID_SESSION = 0xC0000455,
- MD_NTSTATUS_WIN_STATUS_THREAD_ALREADY_IN_SESSION = 0xC0000456,
- MD_NTSTATUS_WIN_STATUS_THREAD_NOT_IN_SESSION = 0xC0000457,
- MD_NTSTATUS_WIN_STATUS_INVALID_WEIGHT = 0xC0000458,
- MD_NTSTATUS_WIN_STATUS_REQUEST_PAUSED = 0xC0000459,
- MD_NTSTATUS_WIN_STATUS_NO_RANGES_PROCESSED = 0xC0000460,
- MD_NTSTATUS_WIN_STATUS_DISK_RESOURCES_EXHAUSTED = 0xC0000461,
- MD_NTSTATUS_WIN_STATUS_NEEDS_REMEDIATION = 0xC0000462,
- MD_NTSTATUS_WIN_STATUS_DEVICE_FEATURE_NOT_SUPPORTED = 0xC0000463,
- MD_NTSTATUS_WIN_STATUS_DEVICE_UNREACHABLE = 0xC0000464,
- MD_NTSTATUS_WIN_STATUS_INVALID_TOKEN = 0xC0000465,
- MD_NTSTATUS_WIN_STATUS_SERVER_UNAVAILABLE = 0xC0000466,
- MD_NTSTATUS_WIN_STATUS_FILE_NOT_AVAILABLE = 0xC0000467,
- MD_NTSTATUS_WIN_STATUS_DEVICE_INSUFFICIENT_RESOURCES = 0xC0000468,
- MD_NTSTATUS_WIN_STATUS_PACKAGE_UPDATING = 0xC0000469,
- MD_NTSTATUS_WIN_STATUS_NOT_READ_FROM_COPY = 0xC000046A,
- MD_NTSTATUS_WIN_STATUS_FT_WRITE_FAILURE = 0xC000046B,
- MD_NTSTATUS_WIN_STATUS_FT_DI_SCAN_REQUIRED = 0xC000046C,
- MD_NTSTATUS_WIN_STATUS_OBJECT_NOT_EXTERNALLY_BACKED = 0xC000046D,
- MD_NTSTATUS_WIN_STATUS_EXTERNAL_BACKING_PROVIDER_UNKNOWN = 0xC000046E,
- MD_NTSTATUS_WIN_STATUS_DATA_CHECKSUM_ERROR = 0xC0000470,
- MD_NTSTATUS_WIN_STATUS_INTERMIXED_KERNEL_EA_OPERATION = 0xC0000471,
- MD_NTSTATUS_WIN_STATUS_TRIM_READ_ZERO_NOT_SUPPORTED = 0xC0000472,
- MD_NTSTATUS_WIN_STATUS_TOO_MANY_SEGMENT_DESCRIPTORS = 0xC0000473,
- MD_NTSTATUS_WIN_STATUS_INVALID_OFFSET_ALIGNMENT = 0xC0000474,
- MD_NTSTATUS_WIN_STATUS_INVALID_FIELD_IN_PARAMETER_LIST = 0xC0000475,
- MD_NTSTATUS_WIN_STATUS_OPERATION_IN_PROGRESS = 0xC0000476,
- MD_NTSTATUS_WIN_STATUS_INVALID_INITIATOR_TARGET_PATH = 0xC0000477,
- MD_NTSTATUS_WIN_STATUS_SCRUB_DATA_DISABLED = 0xC0000478,
- MD_NTSTATUS_WIN_STATUS_NOT_REDUNDANT_STORAGE = 0xC0000479,
- MD_NTSTATUS_WIN_STATUS_RESIDENT_FILE_NOT_SUPPORTED = 0xC000047A,
- MD_NTSTATUS_WIN_STATUS_COMPRESSED_FILE_NOT_SUPPORTED = 0xC000047B,
- MD_NTSTATUS_WIN_STATUS_DIRECTORY_NOT_SUPPORTED = 0xC000047C,
- MD_NTSTATUS_WIN_STATUS_IO_OPERATION_TIMEOUT = 0xC000047D,
- MD_NTSTATUS_WIN_STATUS_SYSTEM_NEEDS_REMEDIATION = 0xC000047E,
- MD_NTSTATUS_WIN_STATUS_APPX_INTEGRITY_FAILURE_CLR_NGEN = 0xC000047F,
- MD_NTSTATUS_WIN_STATUS_SHARE_UNAVAILABLE = 0xC0000480,
- MD_NTSTATUS_WIN_STATUS_APISET_NOT_HOSTED = 0xC0000481,
- MD_NTSTATUS_WIN_STATUS_APISET_NOT_PRESENT = 0xC0000482,
- MD_NTSTATUS_WIN_STATUS_DEVICE_HARDWARE_ERROR = 0xC0000483,
- MD_NTSTATUS_WIN_STATUS_INVALID_TASK_NAME = 0xC0000500,
- MD_NTSTATUS_WIN_STATUS_INVALID_TASK_INDEX = 0xC0000501,
- MD_NTSTATUS_WIN_STATUS_THREAD_ALREADY_IN_TASK = 0xC0000502,
- MD_NTSTATUS_WIN_STATUS_CALLBACK_BYPASS = 0xC0000503,
- MD_NTSTATUS_WIN_STATUS_UNDEFINED_SCOPE = 0xC0000504,
- MD_NTSTATUS_WIN_STATUS_INVALID_CAP = 0xC0000505,
- MD_NTSTATUS_WIN_STATUS_NOT_GUI_PROCESS = 0xC0000506,
- MD_NTSTATUS_WIN_STATUS_FAIL_FAST_EXCEPTION = 0xC0000602,
- MD_NTSTATUS_WIN_STATUS_IMAGE_CERT_REVOKED = 0xC0000603,
- MD_NTSTATUS_WIN_STATUS_DYNAMIC_CODE_BLOCKED = 0xC0000604,
- MD_NTSTATUS_WIN_STATUS_PORT_CLOSED = 0xC0000700,
- MD_NTSTATUS_WIN_STATUS_MESSAGE_LOST = 0xC0000701,
- MD_NTSTATUS_WIN_STATUS_INVALID_MESSAGE = 0xC0000702,
- MD_NTSTATUS_WIN_STATUS_REQUEST_CANCELED = 0xC0000703,
- MD_NTSTATUS_WIN_STATUS_RECURSIVE_DISPATCH = 0xC0000704,
- MD_NTSTATUS_WIN_STATUS_LPC_RECEIVE_BUFFER_EXPECTED = 0xC0000705,
- MD_NTSTATUS_WIN_STATUS_LPC_INVALID_CONNECTION_USAGE = 0xC0000706,
- MD_NTSTATUS_WIN_STATUS_LPC_REQUESTS_NOT_ALLOWED = 0xC0000707,
- MD_NTSTATUS_WIN_STATUS_RESOURCE_IN_USE = 0xC0000708,
- MD_NTSTATUS_WIN_STATUS_HARDWARE_MEMORY_ERROR = 0xC0000709,
- MD_NTSTATUS_WIN_STATUS_THREADPOOL_HANDLE_EXCEPTION = 0xC000070A,
- MD_NTSTATUS_WIN_STATUS_THREADPOOL_SET_EVENT_ON_COMPLETION_FAILED = 0xC000070B,
- MD_NTSTATUS_WIN_STATUS_THREADPOOL_RELEASE_SEMAPHORE_ON_COMPLETION_FAILED = 0xC000070C,
- MD_NTSTATUS_WIN_STATUS_THREADPOOL_RELEASE_MUTEX_ON_COMPLETION_FAILED = 0xC000070D,
- MD_NTSTATUS_WIN_STATUS_THREADPOOL_FREE_LIBRARY_ON_COMPLETION_FAILED = 0xC000070E,
- MD_NTSTATUS_WIN_STATUS_THREADPOOL_RELEASED_DURING_OPERATION = 0xC000070F,
- MD_NTSTATUS_WIN_STATUS_CALLBACK_RETURNED_WHILE_IMPERSONATING = 0xC0000710,
- MD_NTSTATUS_WIN_STATUS_APC_RETURNED_WHILE_IMPERSONATING = 0xC0000711,
- MD_NTSTATUS_WIN_STATUS_PROCESS_IS_PROTECTED = 0xC0000712,
- MD_NTSTATUS_WIN_STATUS_MCA_EXCEPTION = 0xC0000713,
- MD_NTSTATUS_WIN_STATUS_CERTIFICATE_MAPPING_NOT_UNIQUE = 0xC0000714,
- MD_NTSTATUS_WIN_STATUS_SYMLINK_CLASS_DISABLED = 0xC0000715,
- MD_NTSTATUS_WIN_STATUS_INVALID_IDN_NORMALIZATION = 0xC0000716,
- MD_NTSTATUS_WIN_STATUS_NO_UNICODE_TRANSLATION = 0xC0000717,
- MD_NTSTATUS_WIN_STATUS_ALREADY_REGISTERED = 0xC0000718,
- MD_NTSTATUS_WIN_STATUS_CONTEXT_MISMATCH = 0xC0000719,
- MD_NTSTATUS_WIN_STATUS_PORT_ALREADY_HAS_COMPLETION_LIST = 0xC000071A,
- MD_NTSTATUS_WIN_STATUS_CALLBACK_RETURNED_THREAD_PRIORITY = 0xC000071B,
- MD_NTSTATUS_WIN_STATUS_INVALID_THREAD = 0xC000071C,
- MD_NTSTATUS_WIN_STATUS_CALLBACK_RETURNED_TRANSACTION = 0xC000071D,
- MD_NTSTATUS_WIN_STATUS_CALLBACK_RETURNED_LDR_LOCK = 0xC000071E,
- MD_NTSTATUS_WIN_STATUS_CALLBACK_RETURNED_LANG = 0xC000071F,
- MD_NTSTATUS_WIN_STATUS_CALLBACK_RETURNED_PRI_BACK = 0xC0000720,
- MD_NTSTATUS_WIN_STATUS_CALLBACK_RETURNED_THREAD_AFFINITY = 0xC0000721,
- MD_NTSTATUS_WIN_STATUS_DISK_REPAIR_DISABLED = 0xC0000800,
- MD_NTSTATUS_WIN_STATUS_DS_DOMAIN_RENAME_IN_PROGRESS = 0xC0000801,
- MD_NTSTATUS_WIN_STATUS_DISK_QUOTA_EXCEEDED = 0xC0000802,
- MD_NTSTATUS_WIN_STATUS_CONTENT_BLOCKED = 0xC0000804,
- MD_NTSTATUS_WIN_STATUS_BAD_CLUSTERS = 0xC0000805,
- MD_NTSTATUS_WIN_STATUS_VOLUME_DIRTY = 0xC0000806,
- MD_NTSTATUS_WIN_STATUS_DISK_REPAIR_UNSUCCESSFUL = 0xC0000808,
- MD_NTSTATUS_WIN_STATUS_CORRUPT_LOG_OVERFULL = 0xC0000809,
- MD_NTSTATUS_WIN_STATUS_CORRUPT_LOG_CORRUPTED = 0xC000080A,
- MD_NTSTATUS_WIN_STATUS_CORRUPT_LOG_UNAVAILABLE = 0xC000080B,
- MD_NTSTATUS_WIN_STATUS_CORRUPT_LOG_DELETED_FULL = 0xC000080C,
- MD_NTSTATUS_WIN_STATUS_CORRUPT_LOG_CLEARED = 0xC000080D,
- MD_NTSTATUS_WIN_STATUS_ORPHAN_NAME_EXHAUSTED = 0xC000080E,
- MD_NTSTATUS_WIN_STATUS_PROACTIVE_SCAN_IN_PROGRESS = 0xC000080F,
- MD_NTSTATUS_WIN_STATUS_ENCRYPTED_IO_NOT_POSSIBLE = 0xC0000810,
- MD_NTSTATUS_WIN_STATUS_CORRUPT_LOG_UPLEVEL_RECORDS = 0xC0000811,
- MD_NTSTATUS_WIN_STATUS_FILE_CHECKED_OUT = 0xC0000901,
- MD_NTSTATUS_WIN_STATUS_CHECKOUT_REQUIRED = 0xC0000902,
- MD_NTSTATUS_WIN_STATUS_BAD_FILE_TYPE = 0xC0000903,
- MD_NTSTATUS_WIN_STATUS_FILE_TOO_LARGE = 0xC0000904,
- MD_NTSTATUS_WIN_STATUS_FORMS_AUTH_REQUIRED = 0xC0000905,
- MD_NTSTATUS_WIN_STATUS_VIRUS_INFECTED = 0xC0000906,
- MD_NTSTATUS_WIN_STATUS_VIRUS_DELETED = 0xC0000907,
- MD_NTSTATUS_WIN_STATUS_BAD_MCFG_TABLE = 0xC0000908,
- MD_NTSTATUS_WIN_STATUS_CANNOT_BREAK_OPLOCK = 0xC0000909,
- MD_NTSTATUS_WIN_STATUS_BAD_KEY = 0xC000090A,
- MD_NTSTATUS_WIN_STATUS_BAD_DATA = 0xC000090B,
- MD_NTSTATUS_WIN_STATUS_NO_KEY = 0xC000090C,
- MD_NTSTATUS_WIN_STATUS_FILE_HANDLE_REVOKED = 0xC0000910,
- MD_NTSTATUS_WIN_STATUS_WOW_ASSERTION = 0xC0009898,
- MD_NTSTATUS_WIN_STATUS_INVALID_SIGNATURE = 0xC000A000,
- MD_NTSTATUS_WIN_STATUS_HMAC_NOT_SUPPORTED = 0xC000A001,
- MD_NTSTATUS_WIN_STATUS_AUTH_TAG_MISMATCH = 0xC000A002,
- MD_NTSTATUS_WIN_STATUS_INVALID_STATE_TRANSITION = 0xC000A003,
- MD_NTSTATUS_WIN_STATUS_INVALID_KERNEL_INFO_VERSION = 0xC000A004,
- MD_NTSTATUS_WIN_STATUS_INVALID_PEP_INFO_VERSION = 0xC000A005,
- MD_NTSTATUS_WIN_STATUS_IPSEC_QUEUE_OVERFLOW = 0xC000A010,
- MD_NTSTATUS_WIN_STATUS_ND_QUEUE_OVERFLOW = 0xC000A011,
- MD_NTSTATUS_WIN_STATUS_HOPLIMIT_EXCEEDED = 0xC000A012,
- MD_NTSTATUS_WIN_STATUS_PROTOCOL_NOT_SUPPORTED = 0xC000A013,
- MD_NTSTATUS_WIN_STATUS_FASTPATH_REJECTED = 0xC000A014,
- MD_NTSTATUS_WIN_STATUS_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED = 0xC000A080,
- MD_NTSTATUS_WIN_STATUS_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR = 0xC000A081,
- MD_NTSTATUS_WIN_STATUS_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR = 0xC000A082,
- MD_NTSTATUS_WIN_STATUS_XML_PARSE_ERROR = 0xC000A083,
- MD_NTSTATUS_WIN_STATUS_XMLDSIG_ERROR = 0xC000A084,
- MD_NTSTATUS_WIN_STATUS_WRONG_COMPARTMENT = 0xC000A085,
- MD_NTSTATUS_WIN_STATUS_AUTHIP_FAILURE = 0xC000A086,
- MD_NTSTATUS_WIN_STATUS_DS_OID_MAPPED_GROUP_CANT_HAVE_MEMBERS = 0xC000A087,
- MD_NTSTATUS_WIN_STATUS_DS_OID_NOT_FOUND = 0xC000A088,
- MD_NTSTATUS_WIN_STATUS_INCORRECT_ACCOUNT_TYPE = 0xC000A089,
- MD_NTSTATUS_WIN_STATUS_HASH_NOT_SUPPORTED = 0xC000A100,
- MD_NTSTATUS_WIN_STATUS_HASH_NOT_PRESENT = 0xC000A101,
- MD_NTSTATUS_WIN_STATUS_SECONDARY_IC_PROVIDER_NOT_REGISTERED = 0xC000A121,
- MD_NTSTATUS_WIN_STATUS_GPIO_CLIENT_INFORMATION_INVALID = 0xC000A122,
- MD_NTSTATUS_WIN_STATUS_GPIO_VERSION_NOT_SUPPORTED = 0xC000A123,
- MD_NTSTATUS_WIN_STATUS_GPIO_INVALID_REGISTRATION_PACKET = 0xC000A124,
- MD_NTSTATUS_WIN_STATUS_GPIO_OPERATION_DENIED = 0xC000A125,
- MD_NTSTATUS_WIN_STATUS_GPIO_INCOMPATIBLE_CONNECT_MODE = 0xC000A126,
- MD_NTSTATUS_WIN_STATUS_CANNOT_SWITCH_RUNLEVEL = 0xC000A141,
- MD_NTSTATUS_WIN_STATUS_INVALID_RUNLEVEL_SETTING = 0xC000A142,
- MD_NTSTATUS_WIN_STATUS_RUNLEVEL_SWITCH_TIMEOUT = 0xC000A143,
- MD_NTSTATUS_WIN_STATUS_RUNLEVEL_SWITCH_AGENT_TIMEOUT = 0xC000A145,
- MD_NTSTATUS_WIN_STATUS_RUNLEVEL_SWITCH_IN_PROGRESS = 0xC000A146,
- MD_NTSTATUS_WIN_STATUS_NOT_APPCONTAINER = 0xC000A200,
- MD_NTSTATUS_WIN_STATUS_NOT_SUPPORTED_IN_APPCONTAINER = 0xC000A201,
- MD_NTSTATUS_WIN_STATUS_INVALID_PACKAGE_SID_LENGTH = 0xC000A202,
- MD_NTSTATUS_WIN_STATUS_APP_DATA_NOT_FOUND = 0xC000A281,
- MD_NTSTATUS_WIN_STATUS_APP_DATA_EXPIRED = 0xC000A282,
- MD_NTSTATUS_WIN_STATUS_APP_DATA_CORRUPT = 0xC000A283,
- MD_NTSTATUS_WIN_STATUS_APP_DATA_LIMIT_EXCEEDED = 0xC000A284,
- MD_NTSTATUS_WIN_STATUS_APP_DATA_REBOOT_REQUIRED = 0xC000A285,
- MD_NTSTATUS_WIN_STATUS_OFFLOAD_READ_FLT_NOT_SUPPORTED = 0xC000A2A1,
- MD_NTSTATUS_WIN_STATUS_OFFLOAD_WRITE_FLT_NOT_SUPPORTED = 0xC000A2A2,
- MD_NTSTATUS_WIN_STATUS_OFFLOAD_READ_FILE_NOT_SUPPORTED = 0xC000A2A3,
- MD_NTSTATUS_WIN_STATUS_OFFLOAD_WRITE_FILE_NOT_SUPPORTED = 0xC000A2A4,
- MD_NTSTATUS_WIN_DBG_NO_STATE_CHANGE = 0xC0010001,
- MD_NTSTATUS_WIN_DBG_APP_NOT_IDLE = 0xC0010002,
- MD_NTSTATUS_WIN_RPC_NT_INVALID_STRING_BINDING = 0xC0020001,
- MD_NTSTATUS_WIN_RPC_NT_WRONG_KIND_OF_BINDING = 0xC0020002,
- MD_NTSTATUS_WIN_RPC_NT_INVALID_BINDING = 0xC0020003,
- MD_NTSTATUS_WIN_RPC_NT_PROTSEQ_NOT_SUPPORTED = 0xC0020004,
- MD_NTSTATUS_WIN_RPC_NT_INVALID_RPC_PROTSEQ = 0xC0020005,
- MD_NTSTATUS_WIN_RPC_NT_INVALID_STRING_UUID = 0xC0020006,
- MD_NTSTATUS_WIN_RPC_NT_INVALID_ENDPOINT_FORMAT = 0xC0020007,
- MD_NTSTATUS_WIN_RPC_NT_INVALID_NET_ADDR = 0xC0020008,
- MD_NTSTATUS_WIN_RPC_NT_NO_ENDPOINT_FOUND = 0xC0020009,
- MD_NTSTATUS_WIN_RPC_NT_INVALID_TIMEOUT = 0xC002000A,
- MD_NTSTATUS_WIN_RPC_NT_OBJECT_NOT_FOUND = 0xC002000B,
- MD_NTSTATUS_WIN_RPC_NT_ALREADY_REGISTERED = 0xC002000C,
- MD_NTSTATUS_WIN_RPC_NT_TYPE_ALREADY_REGISTERED = 0xC002000D,
- MD_NTSTATUS_WIN_RPC_NT_ALREADY_LISTENING = 0xC002000E,
- MD_NTSTATUS_WIN_RPC_NT_NO_PROTSEQS_REGISTERED = 0xC002000F,
- MD_NTSTATUS_WIN_RPC_NT_NOT_LISTENING = 0xC0020010,
- MD_NTSTATUS_WIN_RPC_NT_UNKNOWN_MGR_TYPE = 0xC0020011,
- MD_NTSTATUS_WIN_RPC_NT_UNKNOWN_IF = 0xC0020012,
- MD_NTSTATUS_WIN_RPC_NT_NO_BINDINGS = 0xC0020013,
- MD_NTSTATUS_WIN_RPC_NT_NO_PROTSEQS = 0xC0020014,
- MD_NTSTATUS_WIN_RPC_NT_CANT_CREATE_ENDPOINT = 0xC0020015,
- MD_NTSTATUS_WIN_RPC_NT_OUT_OF_RESOURCES = 0xC0020016,
- MD_NTSTATUS_WIN_RPC_NT_SERVER_UNAVAILABLE = 0xC0020017,
- MD_NTSTATUS_WIN_RPC_NT_SERVER_TOO_BUSY = 0xC0020018,
- MD_NTSTATUS_WIN_RPC_NT_INVALID_NETWORK_OPTIONS = 0xC0020019,
- MD_NTSTATUS_WIN_RPC_NT_NO_CALL_ACTIVE = 0xC002001A,
- MD_NTSTATUS_WIN_RPC_NT_CALL_FAILED = 0xC002001B,
- MD_NTSTATUS_WIN_RPC_NT_CALL_FAILED_DNE = 0xC002001C,
- MD_NTSTATUS_WIN_RPC_NT_PROTOCOL_ERROR = 0xC002001D,
- MD_NTSTATUS_WIN_RPC_NT_UNSUPPORTED_TRANS_SYN = 0xC002001F,
- MD_NTSTATUS_WIN_RPC_NT_UNSUPPORTED_TYPE = 0xC0020021,
- MD_NTSTATUS_WIN_RPC_NT_INVALID_TAG = 0xC0020022,
- MD_NTSTATUS_WIN_RPC_NT_INVALID_BOUND = 0xC0020023,
- MD_NTSTATUS_WIN_RPC_NT_NO_ENTRY_NAME = 0xC0020024,
- MD_NTSTATUS_WIN_RPC_NT_INVALID_NAME_SYNTAX = 0xC0020025,
- MD_NTSTATUS_WIN_RPC_NT_UNSUPPORTED_NAME_SYNTAX = 0xC0020026,
- MD_NTSTATUS_WIN_RPC_NT_UUID_NO_ADDRESS = 0xC0020028,
- MD_NTSTATUS_WIN_RPC_NT_DUPLICATE_ENDPOINT = 0xC0020029,
- MD_NTSTATUS_WIN_RPC_NT_UNKNOWN_AUTHN_TYPE = 0xC002002A,
- MD_NTSTATUS_WIN_RPC_NT_MAX_CALLS_TOO_SMALL = 0xC002002B,
- MD_NTSTATUS_WIN_RPC_NT_STRING_TOO_LONG = 0xC002002C,
- MD_NTSTATUS_WIN_RPC_NT_PROTSEQ_NOT_FOUND = 0xC002002D,
- MD_NTSTATUS_WIN_RPC_NT_PROCNUM_OUT_OF_RANGE = 0xC002002E,
- MD_NTSTATUS_WIN_RPC_NT_BINDING_HAS_NO_AUTH = 0xC002002F,
- MD_NTSTATUS_WIN_RPC_NT_UNKNOWN_AUTHN_SERVICE = 0xC0020030,
- MD_NTSTATUS_WIN_RPC_NT_UNKNOWN_AUTHN_LEVEL = 0xC0020031,
- MD_NTSTATUS_WIN_RPC_NT_INVALID_AUTH_IDENTITY = 0xC0020032,
- MD_NTSTATUS_WIN_RPC_NT_UNKNOWN_AUTHZ_SERVICE = 0xC0020033,
- MD_NTSTATUS_WIN_EPT_NT_INVALID_ENTRY = 0xC0020034,
- MD_NTSTATUS_WIN_EPT_NT_CANT_PERFORM_OP = 0xC0020035,
- MD_NTSTATUS_WIN_EPT_NT_NOT_REGISTERED = 0xC0020036,
- MD_NTSTATUS_WIN_RPC_NT_NOTHING_TO_EXPORT = 0xC0020037,
- MD_NTSTATUS_WIN_RPC_NT_INCOMPLETE_NAME = 0xC0020038,
- MD_NTSTATUS_WIN_RPC_NT_INVALID_VERS_OPTION = 0xC0020039,
- MD_NTSTATUS_WIN_RPC_NT_NO_MORE_MEMBERS = 0xC002003A,
- MD_NTSTATUS_WIN_RPC_NT_NOT_ALL_OBJS_UNEXPORTED = 0xC002003B,
- MD_NTSTATUS_WIN_RPC_NT_INTERFACE_NOT_FOUND = 0xC002003C,
- MD_NTSTATUS_WIN_RPC_NT_ENTRY_ALREADY_EXISTS = 0xC002003D,
- MD_NTSTATUS_WIN_RPC_NT_ENTRY_NOT_FOUND = 0xC002003E,
- MD_NTSTATUS_WIN_RPC_NT_NAME_SERVICE_UNAVAILABLE = 0xC002003F,
- MD_NTSTATUS_WIN_RPC_NT_INVALID_NAF_ID = 0xC0020040,
- MD_NTSTATUS_WIN_RPC_NT_CANNOT_SUPPORT = 0xC0020041,
- MD_NTSTATUS_WIN_RPC_NT_NO_CONTEXT_AVAILABLE = 0xC0020042,
- MD_NTSTATUS_WIN_RPC_NT_INTERNAL_ERROR = 0xC0020043,
- MD_NTSTATUS_WIN_RPC_NT_ZERO_DIVIDE = 0xC0020044,
- MD_NTSTATUS_WIN_RPC_NT_ADDRESS_ERROR = 0xC0020045,
- MD_NTSTATUS_WIN_RPC_NT_FP_DIV_ZERO = 0xC0020046,
- MD_NTSTATUS_WIN_RPC_NT_FP_UNDERFLOW = 0xC0020047,
- MD_NTSTATUS_WIN_RPC_NT_FP_OVERFLOW = 0xC0020048,
- MD_NTSTATUS_WIN_RPC_NT_CALL_IN_PROGRESS = 0xC0020049,
- MD_NTSTATUS_WIN_RPC_NT_NO_MORE_BINDINGS = 0xC002004A,
- MD_NTSTATUS_WIN_RPC_NT_GROUP_MEMBER_NOT_FOUND = 0xC002004B,
- MD_NTSTATUS_WIN_EPT_NT_CANT_CREATE = 0xC002004C,
- MD_NTSTATUS_WIN_RPC_NT_INVALID_OBJECT = 0xC002004D,
- MD_NTSTATUS_WIN_RPC_NT_NO_INTERFACES = 0xC002004F,
- MD_NTSTATUS_WIN_RPC_NT_CALL_CANCELLED = 0xC0020050,
- MD_NTSTATUS_WIN_RPC_NT_BINDING_INCOMPLETE = 0xC0020051,
- MD_NTSTATUS_WIN_RPC_NT_COMM_FAILURE = 0xC0020052,
- MD_NTSTATUS_WIN_RPC_NT_UNSUPPORTED_AUTHN_LEVEL = 0xC0020053,
- MD_NTSTATUS_WIN_RPC_NT_NO_PRINC_NAME = 0xC0020054,
- MD_NTSTATUS_WIN_RPC_NT_NOT_RPC_ERROR = 0xC0020055,
- MD_NTSTATUS_WIN_RPC_NT_SEC_PKG_ERROR = 0xC0020057,
- MD_NTSTATUS_WIN_RPC_NT_NOT_CANCELLED = 0xC0020058,
- MD_NTSTATUS_WIN_RPC_NT_INVALID_ASYNC_HANDLE = 0xC0020062,
- MD_NTSTATUS_WIN_RPC_NT_INVALID_ASYNC_CALL = 0xC0020063,
- MD_NTSTATUS_WIN_RPC_NT_PROXY_ACCESS_DENIED = 0xC0020064,
- MD_NTSTATUS_WIN_RPC_NT_COOKIE_AUTH_FAILED = 0xC0020065,
- MD_NTSTATUS_WIN_RPC_NT_NO_MORE_ENTRIES = 0xC0030001,
- MD_NTSTATUS_WIN_RPC_NT_SS_CHAR_TRANS_OPEN_FAIL = 0xC0030002,
- MD_NTSTATUS_WIN_RPC_NT_SS_CHAR_TRANS_SHORT_FILE = 0xC0030003,
- MD_NTSTATUS_WIN_RPC_NT_SS_IN_NULL_CONTEXT = 0xC0030004,
- MD_NTSTATUS_WIN_RPC_NT_SS_CONTEXT_MISMATCH = 0xC0030005,
- MD_NTSTATUS_WIN_RPC_NT_SS_CONTEXT_DAMAGED = 0xC0030006,
- MD_NTSTATUS_WIN_RPC_NT_SS_HANDLES_MISMATCH = 0xC0030007,
- MD_NTSTATUS_WIN_RPC_NT_SS_CANNOT_GET_CALL_HANDLE = 0xC0030008,
- MD_NTSTATUS_WIN_RPC_NT_NULL_REF_POINTER = 0xC0030009,
- MD_NTSTATUS_WIN_RPC_NT_ENUM_VALUE_OUT_OF_RANGE = 0xC003000A,
- MD_NTSTATUS_WIN_RPC_NT_BYTE_COUNT_TOO_SMALL = 0xC003000B,
- MD_NTSTATUS_WIN_RPC_NT_BAD_STUB_DATA = 0xC003000C,
- MD_NTSTATUS_WIN_RPC_NT_INVALID_ES_ACTION = 0xC0030059,
- MD_NTSTATUS_WIN_RPC_NT_WRONG_ES_VERSION = 0xC003005A,
- MD_NTSTATUS_WIN_RPC_NT_WRONG_STUB_VERSION = 0xC003005B,
- MD_NTSTATUS_WIN_RPC_NT_INVALID_PIPE_OBJECT = 0xC003005C,
- MD_NTSTATUS_WIN_RPC_NT_INVALID_PIPE_OPERATION = 0xC003005D,
- MD_NTSTATUS_WIN_RPC_NT_WRONG_PIPE_VERSION = 0xC003005E,
- MD_NTSTATUS_WIN_RPC_NT_PIPE_CLOSED = 0xC003005F,
- MD_NTSTATUS_WIN_RPC_NT_PIPE_DISCIPLINE_ERROR = 0xC0030060,
- MD_NTSTATUS_WIN_RPC_NT_PIPE_EMPTY = 0xC0030061,
- MD_NTSTATUS_WIN_STATUS_PNP_BAD_MPS_TABLE = 0xC0040035,
- MD_NTSTATUS_WIN_STATUS_PNP_TRANSLATION_FAILED = 0xC0040036,
- MD_NTSTATUS_WIN_STATUS_PNP_IRQ_TRANSLATION_FAILED = 0xC0040037,
- MD_NTSTATUS_WIN_STATUS_PNP_INVALID_ID = 0xC0040038,
- MD_NTSTATUS_WIN_STATUS_IO_REISSUE_AS_CACHED = 0xC0040039,
- MD_NTSTATUS_WIN_STATUS_CTX_WINSTATION_NAME_INVALID = 0xC00A0001,
- MD_NTSTATUS_WIN_STATUS_CTX_INVALID_PD = 0xC00A0002,
- MD_NTSTATUS_WIN_STATUS_CTX_PD_NOT_FOUND = 0xC00A0003,
- MD_NTSTATUS_WIN_STATUS_CTX_CLOSE_PENDING = 0xC00A0006,
- MD_NTSTATUS_WIN_STATUS_CTX_NO_OUTBUF = 0xC00A0007,
- MD_NTSTATUS_WIN_STATUS_CTX_MODEM_INF_NOT_FOUND = 0xC00A0008,
- MD_NTSTATUS_WIN_STATUS_CTX_INVALID_MODEMNAME = 0xC00A0009,
- MD_NTSTATUS_WIN_STATUS_CTX_RESPONSE_ERROR = 0xC00A000A,
- MD_NTSTATUS_WIN_STATUS_CTX_MODEM_RESPONSE_TIMEOUT = 0xC00A000B,
- MD_NTSTATUS_WIN_STATUS_CTX_MODEM_RESPONSE_NO_CARRIER = 0xC00A000C,
- MD_NTSTATUS_WIN_STATUS_CTX_MODEM_RESPONSE_NO_DIALTONE = 0xC00A000D,
- MD_NTSTATUS_WIN_STATUS_CTX_MODEM_RESPONSE_BUSY = 0xC00A000E,
- MD_NTSTATUS_WIN_STATUS_CTX_MODEM_RESPONSE_VOICE = 0xC00A000F,
- MD_NTSTATUS_WIN_STATUS_CTX_TD_ERROR = 0xC00A0010,
- MD_NTSTATUS_WIN_STATUS_CTX_LICENSE_CLIENT_INVALID = 0xC00A0012,
- MD_NTSTATUS_WIN_STATUS_CTX_LICENSE_NOT_AVAILABLE = 0xC00A0013,
- MD_NTSTATUS_WIN_STATUS_CTX_LICENSE_EXPIRED = 0xC00A0014,
- MD_NTSTATUS_WIN_STATUS_CTX_WINSTATION_NOT_FOUND = 0xC00A0015,
- MD_NTSTATUS_WIN_STATUS_CTX_WINSTATION_NAME_COLLISION = 0xC00A0016,
- MD_NTSTATUS_WIN_STATUS_CTX_WINSTATION_BUSY = 0xC00A0017,
- MD_NTSTATUS_WIN_STATUS_CTX_BAD_VIDEO_MODE = 0xC00A0018,
- MD_NTSTATUS_WIN_STATUS_CTX_GRAPHICS_INVALID = 0xC00A0022,
- MD_NTSTATUS_WIN_STATUS_CTX_NOT_CONSOLE = 0xC00A0024,
- MD_NTSTATUS_WIN_STATUS_CTX_CLIENT_QUERY_TIMEOUT = 0xC00A0026,
- MD_NTSTATUS_WIN_STATUS_CTX_CONSOLE_DISCONNECT = 0xC00A0027,
- MD_NTSTATUS_WIN_STATUS_CTX_CONSOLE_CONNECT = 0xC00A0028,
- MD_NTSTATUS_WIN_STATUS_CTX_SHADOW_DENIED = 0xC00A002A,
- MD_NTSTATUS_WIN_STATUS_CTX_WINSTATION_ACCESS_DENIED = 0xC00A002B,
- MD_NTSTATUS_WIN_STATUS_CTX_INVALID_WD = 0xC00A002E,
- MD_NTSTATUS_WIN_STATUS_CTX_WD_NOT_FOUND = 0xC00A002F,
- MD_NTSTATUS_WIN_STATUS_CTX_SHADOW_INVALID = 0xC00A0030,
- MD_NTSTATUS_WIN_STATUS_CTX_SHADOW_DISABLED = 0xC00A0031,
- MD_NTSTATUS_WIN_STATUS_RDP_PROTOCOL_ERROR = 0xC00A0032,
- MD_NTSTATUS_WIN_STATUS_CTX_CLIENT_LICENSE_NOT_SET = 0xC00A0033,
- MD_NTSTATUS_WIN_STATUS_CTX_CLIENT_LICENSE_IN_USE = 0xC00A0034,
- MD_NTSTATUS_WIN_STATUS_CTX_SHADOW_ENDED_BY_MODE_CHANGE = 0xC00A0035,
- MD_NTSTATUS_WIN_STATUS_CTX_SHADOW_NOT_RUNNING = 0xC00A0036,
- MD_NTSTATUS_WIN_STATUS_CTX_LOGON_DISABLED = 0xC00A0037,
- MD_NTSTATUS_WIN_STATUS_CTX_SECURITY_LAYER_ERROR = 0xC00A0038,
- MD_NTSTATUS_WIN_STATUS_TS_INCOMPATIBLE_SESSIONS = 0xC00A0039,
- MD_NTSTATUS_WIN_STATUS_TS_VIDEO_SUBSYSTEM_ERROR = 0xC00A003A,
- MD_NTSTATUS_WIN_STATUS_MUI_FILE_NOT_FOUND = 0xC00B0001,
- MD_NTSTATUS_WIN_STATUS_MUI_INVALID_FILE = 0xC00B0002,
- MD_NTSTATUS_WIN_STATUS_MUI_INVALID_RC_CONFIG = 0xC00B0003,
- MD_NTSTATUS_WIN_STATUS_MUI_INVALID_LOCALE_NAME = 0xC00B0004,
- MD_NTSTATUS_WIN_STATUS_MUI_INVALID_ULTIMATEFALLBACK_NAME = 0xC00B0005,
- MD_NTSTATUS_WIN_STATUS_MUI_FILE_NOT_LOADED = 0xC00B0006,
- MD_NTSTATUS_WIN_STATUS_RESOURCE_ENUM_USER_STOP = 0xC00B0007,
- MD_NTSTATUS_WIN_STATUS_CLUSTER_INVALID_NODE = 0xC0130001,
- MD_NTSTATUS_WIN_STATUS_CLUSTER_NODE_EXISTS = 0xC0130002,
- MD_NTSTATUS_WIN_STATUS_CLUSTER_JOIN_IN_PROGRESS = 0xC0130003,
- MD_NTSTATUS_WIN_STATUS_CLUSTER_NODE_NOT_FOUND = 0xC0130004,
- MD_NTSTATUS_WIN_STATUS_CLUSTER_LOCAL_NODE_NOT_FOUND = 0xC0130005,
- MD_NTSTATUS_WIN_STATUS_CLUSTER_NETWORK_EXISTS = 0xC0130006,
- MD_NTSTATUS_WIN_STATUS_CLUSTER_NETWORK_NOT_FOUND = 0xC0130007,
- MD_NTSTATUS_WIN_STATUS_CLUSTER_NETINTERFACE_EXISTS = 0xC0130008,
- MD_NTSTATUS_WIN_STATUS_CLUSTER_NETINTERFACE_NOT_FOUND = 0xC0130009,
- MD_NTSTATUS_WIN_STATUS_CLUSTER_INVALID_REQUEST = 0xC013000A,
- MD_NTSTATUS_WIN_STATUS_CLUSTER_INVALID_NETWORK_PROVIDER = 0xC013000B,
- MD_NTSTATUS_WIN_STATUS_CLUSTER_NODE_DOWN = 0xC013000C,
- MD_NTSTATUS_WIN_STATUS_CLUSTER_NODE_UNREACHABLE = 0xC013000D,
- MD_NTSTATUS_WIN_STATUS_CLUSTER_NODE_NOT_MEMBER = 0xC013000E,
- MD_NTSTATUS_WIN_STATUS_CLUSTER_JOIN_NOT_IN_PROGRESS = 0xC013000F,
- MD_NTSTATUS_WIN_STATUS_CLUSTER_INVALID_NETWORK = 0xC0130010,
- MD_NTSTATUS_WIN_STATUS_CLUSTER_NO_NET_ADAPTERS = 0xC0130011,
- MD_NTSTATUS_WIN_STATUS_CLUSTER_NODE_UP = 0xC0130012,
- MD_NTSTATUS_WIN_STATUS_CLUSTER_NODE_PAUSED = 0xC0130013,
- MD_NTSTATUS_WIN_STATUS_CLUSTER_NODE_NOT_PAUSED = 0xC0130014,
- MD_NTSTATUS_WIN_STATUS_CLUSTER_NO_SECURITY_CONTEXT = 0xC0130015,
- MD_NTSTATUS_WIN_STATUS_CLUSTER_NETWORK_NOT_INTERNAL = 0xC0130016,
- MD_NTSTATUS_WIN_STATUS_CLUSTER_POISONED = 0xC0130017,
- MD_NTSTATUS_WIN_STATUS_CLUSTER_NON_CSV_PATH = 0xC0130018,
- MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_VOLUME_NOT_LOCAL = 0xC0130019,
- MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_READ_OPLOCK_BREAK_IN_PROGRESS = 0xC0130020,
- MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_AUTO_PAUSE_ERROR = 0xC0130021,
- MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_REDIRECTED = 0xC0130022,
- MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_NOT_REDIRECTED = 0xC0130023,
- MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_VOLUME_DRAINING = 0xC0130024,
- MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_SNAPSHOT_CREATION_IN_PROGRESS = 0xC0130025,
- MD_NTSTATUS_WIN_STATUS_CLUSTER_CSV_VOLUME_DRAINING_SUCCEEDED_DOWNLEVEL = 0xC0130026,
- MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_OPCODE = 0xC0140001,
- MD_NTSTATUS_WIN_STATUS_ACPI_STACK_OVERFLOW = 0xC0140002,
- MD_NTSTATUS_WIN_STATUS_ACPI_ASSERT_FAILED = 0xC0140003,
- MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_INDEX = 0xC0140004,
- MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_ARGUMENT = 0xC0140005,
- MD_NTSTATUS_WIN_STATUS_ACPI_FATAL = 0xC0140006,
- MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_SUPERNAME = 0xC0140007,
- MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_ARGTYPE = 0xC0140008,
- MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_OBJTYPE = 0xC0140009,
- MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_TARGETTYPE = 0xC014000A,
- MD_NTSTATUS_WIN_STATUS_ACPI_INCORRECT_ARGUMENT_COUNT = 0xC014000B,
- MD_NTSTATUS_WIN_STATUS_ACPI_ADDRESS_NOT_MAPPED = 0xC014000C,
- MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_EVENTTYPE = 0xC014000D,
- MD_NTSTATUS_WIN_STATUS_ACPI_HANDLER_COLLISION = 0xC014000E,
- MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_DATA = 0xC014000F,
- MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_REGION = 0xC0140010,
- MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_ACCESS_SIZE = 0xC0140011,
- MD_NTSTATUS_WIN_STATUS_ACPI_ACQUIRE_GLOBAL_LOCK = 0xC0140012,
- MD_NTSTATUS_WIN_STATUS_ACPI_ALREADY_INITIALIZED = 0xC0140013,
- MD_NTSTATUS_WIN_STATUS_ACPI_NOT_INITIALIZED = 0xC0140014,
- MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_MUTEX_LEVEL = 0xC0140015,
- MD_NTSTATUS_WIN_STATUS_ACPI_MUTEX_NOT_OWNED = 0xC0140016,
- MD_NTSTATUS_WIN_STATUS_ACPI_MUTEX_NOT_OWNER = 0xC0140017,
- MD_NTSTATUS_WIN_STATUS_ACPI_RS_ACCESS = 0xC0140018,
- MD_NTSTATUS_WIN_STATUS_ACPI_INVALID_TABLE = 0xC0140019,
- MD_NTSTATUS_WIN_STATUS_ACPI_REG_HANDLER_FAILED = 0xC0140020,
- MD_NTSTATUS_WIN_STATUS_ACPI_POWER_REQUEST_FAILED = 0xC0140021,
- MD_NTSTATUS_WIN_STATUS_SXS_SECTION_NOT_FOUND = 0xC0150001,
- MD_NTSTATUS_WIN_STATUS_SXS_CANT_GEN_ACTCTX = 0xC0150002,
- MD_NTSTATUS_WIN_STATUS_SXS_INVALID_ACTCTXDATA_FORMAT = 0xC0150003,
- MD_NTSTATUS_WIN_STATUS_SXS_ASSEMBLY_NOT_FOUND = 0xC0150004,
- MD_NTSTATUS_WIN_STATUS_SXS_MANIFEST_FORMAT_ERROR = 0xC0150005,
- MD_NTSTATUS_WIN_STATUS_SXS_MANIFEST_PARSE_ERROR = 0xC0150006,
- MD_NTSTATUS_WIN_STATUS_SXS_ACTIVATION_CONTEXT_DISABLED = 0xC0150007,
- MD_NTSTATUS_WIN_STATUS_SXS_KEY_NOT_FOUND = 0xC0150008,
- MD_NTSTATUS_WIN_STATUS_SXS_VERSION_CONFLICT = 0xC0150009,
- MD_NTSTATUS_WIN_STATUS_SXS_WRONG_SECTION_TYPE = 0xC015000A,
- MD_NTSTATUS_WIN_STATUS_SXS_THREAD_QUERIES_DISABLED = 0xC015000B,
- MD_NTSTATUS_WIN_STATUS_SXS_ASSEMBLY_MISSING = 0xC015000C,
- MD_NTSTATUS_WIN_STATUS_SXS_PROCESS_DEFAULT_ALREADY_SET = 0xC015000E,
- MD_NTSTATUS_WIN_STATUS_SXS_EARLY_DEACTIVATION = 0xC015000F,
- MD_NTSTATUS_WIN_STATUS_SXS_INVALID_DEACTIVATION = 0xC0150010,
- MD_NTSTATUS_WIN_STATUS_SXS_MULTIPLE_DEACTIVATION = 0xC0150011,
- MD_NTSTATUS_WIN_STATUS_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY = 0xC0150012,
- MD_NTSTATUS_WIN_STATUS_SXS_PROCESS_TERMINATION_REQUESTED = 0xC0150013,
- MD_NTSTATUS_WIN_STATUS_SXS_CORRUPT_ACTIVATION_STACK = 0xC0150014,
- MD_NTSTATUS_WIN_STATUS_SXS_CORRUPTION = 0xC0150015,
- MD_NTSTATUS_WIN_STATUS_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE = 0xC0150016,
- MD_NTSTATUS_WIN_STATUS_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME = 0xC0150017,
- MD_NTSTATUS_WIN_STATUS_SXS_IDENTITY_DUPLICATE_ATTRIBUTE = 0xC0150018,
- MD_NTSTATUS_WIN_STATUS_SXS_IDENTITY_PARSE_ERROR = 0xC0150019,
- MD_NTSTATUS_WIN_STATUS_SXS_COMPONENT_STORE_CORRUPT = 0xC015001A,
- MD_NTSTATUS_WIN_STATUS_SXS_FILE_HASH_MISMATCH = 0xC015001B,
- MD_NTSTATUS_WIN_STATUS_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT = 0xC015001C,
- MD_NTSTATUS_WIN_STATUS_SXS_IDENTITIES_DIFFERENT = 0xC015001D,
- MD_NTSTATUS_WIN_STATUS_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT = 0xC015001E,
- MD_NTSTATUS_WIN_STATUS_SXS_FILE_NOT_PART_OF_ASSEMBLY = 0xC015001F,
- MD_NTSTATUS_WIN_STATUS_ADVANCED_INSTALLER_FAILED = 0xC0150020,
- MD_NTSTATUS_WIN_STATUS_XML_ENCODING_MISMATCH = 0xC0150021,
- MD_NTSTATUS_WIN_STATUS_SXS_MANIFEST_TOO_BIG = 0xC0150022,
- MD_NTSTATUS_WIN_STATUS_SXS_SETTING_NOT_REGISTERED = 0xC0150023,
- MD_NTSTATUS_WIN_STATUS_SXS_TRANSACTION_CLOSURE_INCOMPLETE = 0xC0150024,
- MD_NTSTATUS_WIN_STATUS_SMI_PRIMITIVE_INSTALLER_FAILED = 0xC0150025,
- MD_NTSTATUS_WIN_STATUS_GENERIC_COMMAND_FAILED = 0xC0150026,
- MD_NTSTATUS_WIN_STATUS_SXS_FILE_HASH_MISSING = 0xC0150027,
- MD_NTSTATUS_WIN_STATUS_TRANSACTIONAL_CONFLICT = 0xC0190001,
- MD_NTSTATUS_WIN_STATUS_INVALID_TRANSACTION = 0xC0190002,
- MD_NTSTATUS_WIN_STATUS_TRANSACTION_NOT_ACTIVE = 0xC0190003,
- MD_NTSTATUS_WIN_STATUS_TM_INITIALIZATION_FAILED = 0xC0190004,
- MD_NTSTATUS_WIN_STATUS_RM_NOT_ACTIVE = 0xC0190005,
- MD_NTSTATUS_WIN_STATUS_RM_METADATA_CORRUPT = 0xC0190006,
- MD_NTSTATUS_WIN_STATUS_TRANSACTION_NOT_JOINED = 0xC0190007,
- MD_NTSTATUS_WIN_STATUS_DIRECTORY_NOT_RM = 0xC0190008,
- MD_NTSTATUS_WIN_STATUS_TRANSACTIONS_UNSUPPORTED_REMOTE = 0xC019000A,
- MD_NTSTATUS_WIN_STATUS_LOG_RESIZE_INVALID_SIZE = 0xC019000B,
- MD_NTSTATUS_WIN_STATUS_REMOTE_FILE_VERSION_MISMATCH = 0xC019000C,
- MD_NTSTATUS_WIN_STATUS_CRM_PROTOCOL_ALREADY_EXISTS = 0xC019000F,
- MD_NTSTATUS_WIN_STATUS_TRANSACTION_PROPAGATION_FAILED = 0xC0190010,
- MD_NTSTATUS_WIN_STATUS_CRM_PROTOCOL_NOT_FOUND = 0xC0190011,
- MD_NTSTATUS_WIN_STATUS_TRANSACTION_SUPERIOR_EXISTS = 0xC0190012,
- MD_NTSTATUS_WIN_STATUS_TRANSACTION_REQUEST_NOT_VALID = 0xC0190013,
- MD_NTSTATUS_WIN_STATUS_TRANSACTION_NOT_REQUESTED = 0xC0190014,
- MD_NTSTATUS_WIN_STATUS_TRANSACTION_ALREADY_ABORTED = 0xC0190015,
- MD_NTSTATUS_WIN_STATUS_TRANSACTION_ALREADY_COMMITTED = 0xC0190016,
- MD_NTSTATUS_WIN_STATUS_TRANSACTION_INVALID_MARSHALL_BUFFER = 0xC0190017,
- MD_NTSTATUS_WIN_STATUS_CURRENT_TRANSACTION_NOT_VALID = 0xC0190018,
- MD_NTSTATUS_WIN_STATUS_LOG_GROWTH_FAILED = 0xC0190019,
- MD_NTSTATUS_WIN_STATUS_OBJECT_NO_LONGER_EXISTS = 0xC0190021,
- MD_NTSTATUS_WIN_STATUS_STREAM_MINIVERSION_NOT_FOUND = 0xC0190022,
- MD_NTSTATUS_WIN_STATUS_STREAM_MINIVERSION_NOT_VALID = 0xC0190023,
- MD_NTSTATUS_WIN_STATUS_MINIVERSION_INACCESSIBLE_FROM_SPECIFIED_TRANSACTION = 0xC0190024,
- MD_NTSTATUS_WIN_STATUS_CANT_OPEN_MINIVERSION_WITH_MODIFY_INTENT = 0xC0190025,
- MD_NTSTATUS_WIN_STATUS_CANT_CREATE_MORE_STREAM_MINIVERSIONS = 0xC0190026,
- MD_NTSTATUS_WIN_STATUS_HANDLE_NO_LONGER_VALID = 0xC0190028,
- MD_NTSTATUS_WIN_STATUS_LOG_CORRUPTION_DETECTED = 0xC0190030,
- MD_NTSTATUS_WIN_STATUS_RM_DISCONNECTED = 0xC0190032,
- MD_NTSTATUS_WIN_STATUS_ENLISTMENT_NOT_SUPERIOR = 0xC0190033,
- MD_NTSTATUS_WIN_STATUS_FILE_IDENTITY_NOT_PERSISTENT = 0xC0190036,
- MD_NTSTATUS_WIN_STATUS_CANT_BREAK_TRANSACTIONAL_DEPENDENCY = 0xC0190037,
- MD_NTSTATUS_WIN_STATUS_CANT_CROSS_RM_BOUNDARY = 0xC0190038,
- MD_NTSTATUS_WIN_STATUS_TXF_DIR_NOT_EMPTY = 0xC0190039,
- MD_NTSTATUS_WIN_STATUS_INDOUBT_TRANSACTIONS_EXIST = 0xC019003A,
- MD_NTSTATUS_WIN_STATUS_TM_VOLATILE = 0xC019003B,
- MD_NTSTATUS_WIN_STATUS_ROLLBACK_TIMER_EXPIRED = 0xC019003C,
- MD_NTSTATUS_WIN_STATUS_TXF_ATTRIBUTE_CORRUPT = 0xC019003D,
- MD_NTSTATUS_WIN_STATUS_EFS_NOT_ALLOWED_IN_TRANSACTION = 0xC019003E,
- MD_NTSTATUS_WIN_STATUS_TRANSACTIONAL_OPEN_NOT_ALLOWED = 0xC019003F,
- MD_NTSTATUS_WIN_STATUS_TRANSACTED_MAPPING_UNSUPPORTED_REMOTE = 0xC0190040,
- MD_NTSTATUS_WIN_STATUS_TRANSACTION_REQUIRED_PROMOTION = 0xC0190043,
- MD_NTSTATUS_WIN_STATUS_CANNOT_EXECUTE_FILE_IN_TRANSACTION = 0xC0190044,
- MD_NTSTATUS_WIN_STATUS_TRANSACTIONS_NOT_FROZEN = 0xC0190045,
- MD_NTSTATUS_WIN_STATUS_TRANSACTION_FREEZE_IN_PROGRESS = 0xC0190046,
- MD_NTSTATUS_WIN_STATUS_NOT_SNAPSHOT_VOLUME = 0xC0190047,
- MD_NTSTATUS_WIN_STATUS_NO_SAVEPOINT_WITH_OPEN_FILES = 0xC0190048,
- MD_NTSTATUS_WIN_STATUS_SPARSE_NOT_ALLOWED_IN_TRANSACTION = 0xC0190049,
- MD_NTSTATUS_WIN_STATUS_TM_IDENTITY_MISMATCH = 0xC019004A,
- MD_NTSTATUS_WIN_STATUS_FLOATED_SECTION = 0xC019004B,
- MD_NTSTATUS_WIN_STATUS_CANNOT_ACCEPT_TRANSACTED_WORK = 0xC019004C,
- MD_NTSTATUS_WIN_STATUS_CANNOT_ABORT_TRANSACTIONS = 0xC019004D,
- MD_NTSTATUS_WIN_STATUS_TRANSACTION_NOT_FOUND = 0xC019004E,
- MD_NTSTATUS_WIN_STATUS_RESOURCEMANAGER_NOT_FOUND = 0xC019004F,
- MD_NTSTATUS_WIN_STATUS_ENLISTMENT_NOT_FOUND = 0xC0190050,
- MD_NTSTATUS_WIN_STATUS_TRANSACTIONMANAGER_NOT_FOUND = 0xC0190051,
- MD_NTSTATUS_WIN_STATUS_TRANSACTIONMANAGER_NOT_ONLINE = 0xC0190052,
- MD_NTSTATUS_WIN_STATUS_TRANSACTIONMANAGER_RECOVERY_NAME_COLLISION = 0xC0190053,
- MD_NTSTATUS_WIN_STATUS_TRANSACTION_NOT_ROOT = 0xC0190054,
- MD_NTSTATUS_WIN_STATUS_TRANSACTION_OBJECT_EXPIRED = 0xC0190055,
- MD_NTSTATUS_WIN_STATUS_COMPRESSION_NOT_ALLOWED_IN_TRANSACTION = 0xC0190056,
- MD_NTSTATUS_WIN_STATUS_TRANSACTION_RESPONSE_NOT_ENLISTED = 0xC0190057,
- MD_NTSTATUS_WIN_STATUS_TRANSACTION_RECORD_TOO_LONG = 0xC0190058,
- MD_NTSTATUS_WIN_STATUS_NO_LINK_TRACKING_IN_TRANSACTION = 0xC0190059,
- MD_NTSTATUS_WIN_STATUS_OPERATION_NOT_SUPPORTED_IN_TRANSACTION = 0xC019005A,
- MD_NTSTATUS_WIN_STATUS_TRANSACTION_INTEGRITY_VIOLATED = 0xC019005B,
- MD_NTSTATUS_WIN_STATUS_TRANSACTIONMANAGER_IDENTITY_MISMATCH = 0xC019005C,
- MD_NTSTATUS_WIN_STATUS_RM_CANNOT_BE_FROZEN_FOR_SNAPSHOT = 0xC019005D,
- MD_NTSTATUS_WIN_STATUS_TRANSACTION_MUST_WRITETHROUGH = 0xC019005E,
- MD_NTSTATUS_WIN_STATUS_TRANSACTION_NO_SUPERIOR = 0xC019005F,
- MD_NTSTATUS_WIN_STATUS_EXPIRED_HANDLE = 0xC0190060,
- MD_NTSTATUS_WIN_STATUS_TRANSACTION_NOT_ENLISTED = 0xC0190061,
- MD_NTSTATUS_WIN_STATUS_LOG_SECTOR_INVALID = 0xC01A0001,
- MD_NTSTATUS_WIN_STATUS_LOG_SECTOR_PARITY_INVALID = 0xC01A0002,
- MD_NTSTATUS_WIN_STATUS_LOG_SECTOR_REMAPPED = 0xC01A0003,
- MD_NTSTATUS_WIN_STATUS_LOG_BLOCK_INCOMPLETE = 0xC01A0004,
- MD_NTSTATUS_WIN_STATUS_LOG_INVALID_RANGE = 0xC01A0005,
- MD_NTSTATUS_WIN_STATUS_LOG_BLOCKS_EXHAUSTED = 0xC01A0006,
- MD_NTSTATUS_WIN_STATUS_LOG_READ_CONTEXT_INVALID = 0xC01A0007,
- MD_NTSTATUS_WIN_STATUS_LOG_RESTART_INVALID = 0xC01A0008,
- MD_NTSTATUS_WIN_STATUS_LOG_BLOCK_VERSION = 0xC01A0009,
- MD_NTSTATUS_WIN_STATUS_LOG_BLOCK_INVALID = 0xC01A000A,
- MD_NTSTATUS_WIN_STATUS_LOG_READ_MODE_INVALID = 0xC01A000B,
- MD_NTSTATUS_WIN_STATUS_LOG_METADATA_CORRUPT = 0xC01A000D,
- MD_NTSTATUS_WIN_STATUS_LOG_METADATA_INVALID = 0xC01A000E,
- MD_NTSTATUS_WIN_STATUS_LOG_METADATA_INCONSISTENT = 0xC01A000F,
- MD_NTSTATUS_WIN_STATUS_LOG_RESERVATION_INVALID = 0xC01A0010,
- MD_NTSTATUS_WIN_STATUS_LOG_CANT_DELETE = 0xC01A0011,
- MD_NTSTATUS_WIN_STATUS_LOG_CONTAINER_LIMIT_EXCEEDED = 0xC01A0012,
- MD_NTSTATUS_WIN_STATUS_LOG_START_OF_LOG = 0xC01A0013,
- MD_NTSTATUS_WIN_STATUS_LOG_POLICY_ALREADY_INSTALLED = 0xC01A0014,
- MD_NTSTATUS_WIN_STATUS_LOG_POLICY_NOT_INSTALLED = 0xC01A0015,
- MD_NTSTATUS_WIN_STATUS_LOG_POLICY_INVALID = 0xC01A0016,
- MD_NTSTATUS_WIN_STATUS_LOG_POLICY_CONFLICT = 0xC01A0017,
- MD_NTSTATUS_WIN_STATUS_LOG_PINNED_ARCHIVE_TAIL = 0xC01A0018,
- MD_NTSTATUS_WIN_STATUS_LOG_RECORD_NONEXISTENT = 0xC01A0019,
- MD_NTSTATUS_WIN_STATUS_LOG_RECORDS_RESERVED_INVALID = 0xC01A001A,
- MD_NTSTATUS_WIN_STATUS_LOG_SPACE_RESERVED_INVALID = 0xC01A001B,
- MD_NTSTATUS_WIN_STATUS_LOG_TAIL_INVALID = 0xC01A001C,
- MD_NTSTATUS_WIN_STATUS_LOG_FULL = 0xC01A001D,
- MD_NTSTATUS_WIN_STATUS_LOG_MULTIPLEXED = 0xC01A001E,
- MD_NTSTATUS_WIN_STATUS_LOG_DEDICATED = 0xC01A001F,
- MD_NTSTATUS_WIN_STATUS_LOG_ARCHIVE_NOT_IN_PROGRESS = 0xC01A0020,
- MD_NTSTATUS_WIN_STATUS_LOG_ARCHIVE_IN_PROGRESS = 0xC01A0021,
- MD_NTSTATUS_WIN_STATUS_LOG_EPHEMERAL = 0xC01A0022,
- MD_NTSTATUS_WIN_STATUS_LOG_NOT_ENOUGH_CONTAINERS = 0xC01A0023,
- MD_NTSTATUS_WIN_STATUS_LOG_CLIENT_ALREADY_REGISTERED = 0xC01A0024,
- MD_NTSTATUS_WIN_STATUS_LOG_CLIENT_NOT_REGISTERED = 0xC01A0025,
- MD_NTSTATUS_WIN_STATUS_LOG_FULL_HANDLER_IN_PROGRESS = 0xC01A0026,
- MD_NTSTATUS_WIN_STATUS_LOG_CONTAINER_READ_FAILED = 0xC01A0027,
- MD_NTSTATUS_WIN_STATUS_LOG_CONTAINER_WRITE_FAILED = 0xC01A0028,
- MD_NTSTATUS_WIN_STATUS_LOG_CONTAINER_OPEN_FAILED = 0xC01A0029,
- MD_NTSTATUS_WIN_STATUS_LOG_CONTAINER_STATE_INVALID = 0xC01A002A,
- MD_NTSTATUS_WIN_STATUS_LOG_STATE_INVALID = 0xC01A002B,
- MD_NTSTATUS_WIN_STATUS_LOG_PINNED = 0xC01A002C,
- MD_NTSTATUS_WIN_STATUS_LOG_METADATA_FLUSH_FAILED = 0xC01A002D,
- MD_NTSTATUS_WIN_STATUS_LOG_INCONSISTENT_SECURITY = 0xC01A002E,
- MD_NTSTATUS_WIN_STATUS_LOG_APPENDED_FLUSH_FAILED = 0xC01A002F,
- MD_NTSTATUS_WIN_STATUS_LOG_PINNED_RESERVATION = 0xC01A0030,
- MD_NTSTATUS_WIN_STATUS_VIDEO_HUNG_DISPLAY_DRIVER_THREAD = 0xC01B00EA,
- MD_NTSTATUS_WIN_STATUS_FLT_NO_HANDLER_DEFINED = 0xC01C0001,
- MD_NTSTATUS_WIN_STATUS_FLT_CONTEXT_ALREADY_DEFINED = 0xC01C0002,
- MD_NTSTATUS_WIN_STATUS_FLT_INVALID_ASYNCHRONOUS_REQUEST = 0xC01C0003,
- MD_NTSTATUS_WIN_STATUS_FLT_DISALLOW_FAST_IO = 0xC01C0004,
- MD_NTSTATUS_WIN_STATUS_FLT_INVALID_NAME_REQUEST = 0xC01C0005,
- MD_NTSTATUS_WIN_STATUS_FLT_NOT_SAFE_TO_POST_OPERATION = 0xC01C0006,
- MD_NTSTATUS_WIN_STATUS_FLT_NOT_INITIALIZED = 0xC01C0007,
- MD_NTSTATUS_WIN_STATUS_FLT_FILTER_NOT_READY = 0xC01C0008,
- MD_NTSTATUS_WIN_STATUS_FLT_POST_OPERATION_CLEANUP = 0xC01C0009,
- MD_NTSTATUS_WIN_STATUS_FLT_INTERNAL_ERROR = 0xC01C000A,
- MD_NTSTATUS_WIN_STATUS_FLT_DELETING_OBJECT = 0xC01C000B,
- MD_NTSTATUS_WIN_STATUS_FLT_MUST_BE_NONPAGED_POOL = 0xC01C000C,
- MD_NTSTATUS_WIN_STATUS_FLT_DUPLICATE_ENTRY = 0xC01C000D,
- MD_NTSTATUS_WIN_STATUS_FLT_CBDQ_DISABLED = 0xC01C000E,
- MD_NTSTATUS_WIN_STATUS_FLT_DO_NOT_ATTACH = 0xC01C000F,
- MD_NTSTATUS_WIN_STATUS_FLT_DO_NOT_DETACH = 0xC01C0010,
- MD_NTSTATUS_WIN_STATUS_FLT_INSTANCE_ALTITUDE_COLLISION = 0xC01C0011,
- MD_NTSTATUS_WIN_STATUS_FLT_INSTANCE_NAME_COLLISION = 0xC01C0012,
- MD_NTSTATUS_WIN_STATUS_FLT_FILTER_NOT_FOUND = 0xC01C0013,
- MD_NTSTATUS_WIN_STATUS_FLT_VOLUME_NOT_FOUND = 0xC01C0014,
- MD_NTSTATUS_WIN_STATUS_FLT_INSTANCE_NOT_FOUND = 0xC01C0015,
- MD_NTSTATUS_WIN_STATUS_FLT_CONTEXT_ALLOCATION_NOT_FOUND = 0xC01C0016,
- MD_NTSTATUS_WIN_STATUS_FLT_INVALID_CONTEXT_REGISTRATION = 0xC01C0017,
- MD_NTSTATUS_WIN_STATUS_FLT_NAME_CACHE_MISS = 0xC01C0018,
- MD_NTSTATUS_WIN_STATUS_FLT_NO_DEVICE_OBJECT = 0xC01C0019,
- MD_NTSTATUS_WIN_STATUS_FLT_VOLUME_ALREADY_MOUNTED = 0xC01C001A,
- MD_NTSTATUS_WIN_STATUS_FLT_ALREADY_ENLISTED = 0xC01C001B,
- MD_NTSTATUS_WIN_STATUS_FLT_CONTEXT_ALREADY_LINKED = 0xC01C001C,
- MD_NTSTATUS_WIN_STATUS_FLT_NO_WAITER_FOR_REPLY = 0xC01C0020,
- MD_NTSTATUS_WIN_STATUS_FLT_REGISTRATION_BUSY = 0xC01C0023,
- MD_NTSTATUS_WIN_STATUS_MONITOR_NO_DESCRIPTOR = 0xC01D0001,
- MD_NTSTATUS_WIN_STATUS_MONITOR_UNKNOWN_DESCRIPTOR_FORMAT = 0xC01D0002,
- MD_NTSTATUS_WIN_STATUS_MONITOR_INVALID_DESCRIPTOR_CHECKSUM = 0xC01D0003,
- MD_NTSTATUS_WIN_STATUS_MONITOR_INVALID_STANDARD_TIMING_BLOCK = 0xC01D0004,
- MD_NTSTATUS_WIN_STATUS_MONITOR_WMI_DATABLOCK_REGISTRATION_FAILED = 0xC01D0005,
- MD_NTSTATUS_WIN_STATUS_MONITOR_INVALID_SERIAL_NUMBER_MONDSC_BLOCK = 0xC01D0006,
- MD_NTSTATUS_WIN_STATUS_MONITOR_INVALID_USER_FRIENDLY_MONDSC_BLOCK = 0xC01D0007,
- MD_NTSTATUS_WIN_STATUS_MONITOR_NO_MORE_DESCRIPTOR_DATA = 0xC01D0008,
- MD_NTSTATUS_WIN_STATUS_MONITOR_INVALID_DETAILED_TIMING_BLOCK = 0xC01D0009,
- MD_NTSTATUS_WIN_STATUS_MONITOR_INVALID_MANUFACTURE_DATE = 0xC01D000A,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_NOT_EXCLUSIVE_MODE_OWNER = 0xC01E0000,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INSUFFICIENT_DMA_BUFFER = 0xC01E0001,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_DISPLAY_ADAPTER = 0xC01E0002,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_ADAPTER_WAS_RESET = 0xC01E0003,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_DRIVER_MODEL = 0xC01E0004,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_PRESENT_MODE_CHANGED = 0xC01E0005,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_PRESENT_OCCLUDED = 0xC01E0006,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_PRESENT_DENIED = 0xC01E0007,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_CANNOTCOLORCONVERT = 0xC01E0008,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_DRIVER_MISMATCH = 0xC01E0009,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_PRESENT_REDIRECTION_DISABLED = 0xC01E000B,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_PRESENT_UNOCCLUDED = 0xC01E000C,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_WINDOWDC_NOT_AVAILABLE = 0xC01E000D,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_WINDOWLESS_PRESENT_DISABLED = 0xC01E000E,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_NO_VIDEO_MEMORY = 0xC01E0100,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_CANT_LOCK_MEMORY = 0xC01E0101,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_ALLOCATION_BUSY = 0xC01E0102,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_TOO_MANY_REFERENCES = 0xC01E0103,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_TRY_AGAIN_LATER = 0xC01E0104,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_TRY_AGAIN_NOW = 0xC01E0105,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_ALLOCATION_INVALID = 0xC01E0106,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_UNSWIZZLING_APERTURE_UNAVAILABLE = 0xC01E0107,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_UNSWIZZLING_APERTURE_UNSUPPORTED = 0xC01E0108,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_CANT_EVICT_PINNED_ALLOCATION = 0xC01E0109,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_ALLOCATION_USAGE = 0xC01E0110,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_CANT_RENDER_LOCKED_ALLOCATION = 0xC01E0111,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_ALLOCATION_CLOSED = 0xC01E0112,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_ALLOCATION_INSTANCE = 0xC01E0113,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_ALLOCATION_HANDLE = 0xC01E0114,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_WRONG_ALLOCATION_DEVICE = 0xC01E0115,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_ALLOCATION_CONTENT_LOST = 0xC01E0116,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_GPU_EXCEPTION_ON_DEVICE = 0xC01E0200,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_VIDPN_TOPOLOGY = 0xC01E0300,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_VIDPN_TOPOLOGY_NOT_SUPPORTED = 0xC01E0301,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_VIDPN_TOPOLOGY_CURRENTLY_NOT_SUPPORTED = 0xC01E0302,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_VIDPN = 0xC01E0303,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE = 0xC01E0304,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET = 0xC01E0305,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_VIDPN_MODALITY_NOT_SUPPORTED = 0xC01E0306,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_VIDPN_SOURCEMODESET = 0xC01E0308,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_VIDPN_TARGETMODESET = 0xC01E0309,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_FREQUENCY = 0xC01E030A,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_ACTIVE_REGION = 0xC01E030B,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_TOTAL_REGION = 0xC01E030C,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE_MODE = 0xC01E0310,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET_MODE = 0xC01E0311,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_PINNED_MODE_MUST_REMAIN_IN_SET = 0xC01E0312,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_PATH_ALREADY_IN_TOPOLOGY = 0xC01E0313,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_MODE_ALREADY_IN_MODESET = 0xC01E0314,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_VIDEOPRESENTSOURCESET = 0xC01E0315,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_VIDEOPRESENTTARGETSET = 0xC01E0316,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_SOURCE_ALREADY_IN_SET = 0xC01E0317,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_TARGET_ALREADY_IN_SET = 0xC01E0318,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_VIDPN_PRESENT_PATH = 0xC01E0319,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_NO_RECOMMENDED_VIDPN_TOPOLOGY = 0xC01E031A,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGESET = 0xC01E031B,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE = 0xC01E031C,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_FREQUENCYRANGE_NOT_IN_SET = 0xC01E031D,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_FREQUENCYRANGE_ALREADY_IN_SET = 0xC01E031F,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_STALE_MODESET = 0xC01E0320,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_MONITOR_SOURCEMODESET = 0xC01E0321,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_MONITOR_SOURCE_MODE = 0xC01E0322,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_NO_RECOMMENDED_FUNCTIONAL_VIDPN = 0xC01E0323,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_MODE_ID_MUST_BE_UNIQUE = 0xC01E0324,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_EMPTY_ADAPTER_MONITOR_MODE_SUPPORT_INTERSECTION = 0xC01E0325,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_VIDEO_PRESENT_TARGETS_LESS_THAN_SOURCES = 0xC01E0326,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_PATH_NOT_IN_TOPOLOGY = 0xC01E0327,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_SOURCE = 0xC01E0328,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_TARGET = 0xC01E0329,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_MONITORDESCRIPTORSET = 0xC01E032A,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_MONITORDESCRIPTOR = 0xC01E032B,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_MONITORDESCRIPTOR_NOT_IN_SET = 0xC01E032C,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_MONITORDESCRIPTOR_ALREADY_IN_SET = 0xC01E032D,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_MONITORDESCRIPTOR_ID_MUST_BE_UNIQUE = 0xC01E032E,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_VIDPN_TARGET_SUBSET_TYPE = 0xC01E032F,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_RESOURCES_NOT_RELATED = 0xC01E0330,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_SOURCE_ID_MUST_BE_UNIQUE = 0xC01E0331,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_TARGET_ID_MUST_BE_UNIQUE = 0xC01E0332,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_NO_AVAILABLE_VIDPN_TARGET = 0xC01E0333,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_MONITOR_COULD_NOT_BE_ASSOCIATED_WITH_ADAPTER = 0xC01E0334,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_NO_VIDPNMGR = 0xC01E0335,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_NO_ACTIVE_VIDPN = 0xC01E0336,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_STALE_VIDPN_TOPOLOGY = 0xC01E0337,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_MONITOR_NOT_CONNECTED = 0xC01E0338,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_SOURCE_NOT_IN_TOPOLOGY = 0xC01E0339,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_PRIMARYSURFACE_SIZE = 0xC01E033A,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_VISIBLEREGION_SIZE = 0xC01E033B,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_STRIDE = 0xC01E033C,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_PIXELFORMAT = 0xC01E033D,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_COLORBASIS = 0xC01E033E,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_PIXELVALUEACCESSMODE = 0xC01E033F,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_TARGET_NOT_IN_TOPOLOGY = 0xC01E0340,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_NO_DISPLAY_MODE_MANAGEMENT_SUPPORT = 0xC01E0341,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE = 0xC01E0342,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_CANT_ACCESS_ACTIVE_VIDPN = 0xC01E0343,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_PATH_IMPORTANCE_ORDINAL = 0xC01E0344,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_PATH_CONTENT_GEOMETRY_TRANSFORMATION = 0xC01E0345,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_SUPPORTED = 0xC01E0346,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_GAMMA_RAMP = 0xC01E0347,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_GAMMA_RAMP_NOT_SUPPORTED = 0xC01E0348,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_MULTISAMPLING_NOT_SUPPORTED = 0xC01E0349,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_MODE_NOT_IN_MODESET = 0xC01E034A,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_VIDPN_TOPOLOGY_RECOMMENDATION_REASON = 0xC01E034D,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_PATH_CONTENT_TYPE = 0xC01E034E,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_COPYPROTECTION_TYPE = 0xC01E034F,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_UNASSIGNED_MODESET_ALREADY_EXISTS = 0xC01E0350,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_SCANLINE_ORDERING = 0xC01E0352,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_TOPOLOGY_CHANGES_NOT_ALLOWED = 0xC01E0353,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_NO_AVAILABLE_IMPORTANCE_ORDINALS = 0xC01E0354,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INCOMPATIBLE_PRIVATE_FORMAT = 0xC01E0355,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_MODE_PRUNING_ALGORITHM = 0xC01E0356,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_MONITOR_CAPABILITY_ORIGIN = 0xC01E0357,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE_CONSTRAINT = 0xC01E0358,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_MAX_NUM_PATHS_REACHED = 0xC01E0359,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_CANCEL_VIDPN_TOPOLOGY_AUGMENTATION = 0xC01E035A,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_CLIENT_TYPE = 0xC01E035B,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_CLIENTVIDPN_NOT_SET = 0xC01E035C,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_SPECIFIED_CHILD_ALREADY_CONNECTED = 0xC01E0400,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_CHILD_DESCRIPTOR_NOT_SUPPORTED = 0xC01E0401,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_NOT_A_LINKED_ADAPTER = 0xC01E0430,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_LEADLINK_NOT_ENUMERATED = 0xC01E0431,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_CHAINLINKS_NOT_ENUMERATED = 0xC01E0432,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_ADAPTER_CHAIN_NOT_READY = 0xC01E0433,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_CHAINLINKS_NOT_STARTED = 0xC01E0434,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_CHAINLINKS_NOT_POWERED_ON = 0xC01E0435,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INCONSISTENT_DEVICE_LINK_STATE = 0xC01E0436,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_NOT_POST_DEVICE_DRIVER = 0xC01E0438,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_ADAPTER_ACCESS_NOT_EXCLUDED = 0xC01E043B,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_NOT_SUPPORTED = 0xC01E0500,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_COPP_NOT_SUPPORTED = 0xC01E0501,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_UAB_NOT_SUPPORTED = 0xC01E0502,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_INVALID_ENCRYPTED_PARAMETERS = 0xC01E0503,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_NO_PROTECTED_OUTPUTS_EXIST = 0xC01E0505,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_INTERNAL_ERROR = 0xC01E050B,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_INVALID_HANDLE = 0xC01E050C,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_PVP_INVALID_CERTIFICATE_LENGTH = 0xC01E050E,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_SPANNING_MODE_ENABLED = 0xC01E050F,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_THEATER_MODE_ENABLED = 0xC01E0510,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_PVP_HFS_FAILED = 0xC01E0511,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_INVALID_SRM = 0xC01E0512,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_HDCP = 0xC01E0513,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_ACP = 0xC01E0514,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_CGMSA = 0xC01E0515,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_HDCP_SRM_NEVER_SET = 0xC01E0516,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_RESOLUTION_TOO_HIGH = 0xC01E0517,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_ALL_HDCP_HARDWARE_ALREADY_IN_USE = 0xC01E0518,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_PROTECTED_OUTPUT_NO_LONGER_EXISTS = 0xC01E051A,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_PROTECTED_OUTPUT_DOES_NOT_HAVE_COPP_SEMANTICS = 0xC01E051C,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_INVALID_INFORMATION_REQUEST = 0xC01E051D,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_DRIVER_INTERNAL_ERROR = 0xC01E051E,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_PROTECTED_OUTPUT_DOES_NOT_HAVE_OPM_SEMANTICS = 0xC01E051F,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_SIGNALING_NOT_SUPPORTED = 0xC01E0520,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_OPM_INVALID_CONFIGURATION_REQUEST = 0xC01E0521,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_I2C_NOT_SUPPORTED = 0xC01E0580,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_I2C_DEVICE_DOES_NOT_EXIST = 0xC01E0581,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_I2C_ERROR_TRANSMITTING_DATA = 0xC01E0582,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_I2C_ERROR_RECEIVING_DATA = 0xC01E0583,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_DDCCI_VCP_NOT_SUPPORTED = 0xC01E0584,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_DDCCI_INVALID_DATA = 0xC01E0585,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_DDCCI_MONITOR_RETURNED_INVALID_TIMING_STATUS_BYTE = 0xC01E0586,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_DDCCI_INVALID_CAPABILITIES_STRING = 0xC01E0587,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_MCA_INTERNAL_ERROR = 0xC01E0588,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_DDCCI_INVALID_MESSAGE_COMMAND = 0xC01E0589,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_DDCCI_INVALID_MESSAGE_LENGTH = 0xC01E058A,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_DDCCI_INVALID_MESSAGE_CHECKSUM = 0xC01E058B,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_PHYSICAL_MONITOR_HANDLE = 0xC01E058C,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_MONITOR_NO_LONGER_EXISTS = 0xC01E058D,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_ONLY_CONSOLE_SESSION_SUPPORTED = 0xC01E05E0,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_NO_DISPLAY_DEVICE_CORRESPONDS_TO_NAME = 0xC01E05E1,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_DISPLAY_DEVICE_NOT_ATTACHED_TO_DESKTOP = 0xC01E05E2,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_MIRRORING_DEVICES_NOT_SUPPORTED = 0xC01E05E3,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INVALID_POINTER = 0xC01E05E4,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_NO_MONITORS_CORRESPOND_TO_DISPLAY_DEVICE = 0xC01E05E5,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_PARAMETER_ARRAY_TOO_SMALL = 0xC01E05E6,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_INTERNAL_ERROR = 0xC01E05E7,
- MD_NTSTATUS_WIN_STATUS_GRAPHICS_SESSION_TYPE_CHANGE_IN_PROGRESS = 0xC01E05E8,
- MD_NTSTATUS_WIN_STATUS_FVE_LOCKED_VOLUME = 0xC0210000,
- MD_NTSTATUS_WIN_STATUS_FVE_NOT_ENCRYPTED = 0xC0210001,
- MD_NTSTATUS_WIN_STATUS_FVE_BAD_INFORMATION = 0xC0210002,
- MD_NTSTATUS_WIN_STATUS_FVE_TOO_SMALL = 0xC0210003,
- MD_NTSTATUS_WIN_STATUS_FVE_FAILED_WRONG_FS = 0xC0210004,
- MD_NTSTATUS_WIN_STATUS_FVE_BAD_PARTITION_SIZE = 0xC0210005,
- MD_NTSTATUS_WIN_STATUS_FVE_FS_NOT_EXTENDED = 0xC0210006,
- MD_NTSTATUS_WIN_STATUS_FVE_FS_MOUNTED = 0xC0210007,
- MD_NTSTATUS_WIN_STATUS_FVE_NO_LICENSE = 0xC0210008,
- MD_NTSTATUS_WIN_STATUS_FVE_ACTION_NOT_ALLOWED = 0xC0210009,
- MD_NTSTATUS_WIN_STATUS_FVE_BAD_DATA = 0xC021000A,
- MD_NTSTATUS_WIN_STATUS_FVE_VOLUME_NOT_BOUND = 0xC021000B,
- MD_NTSTATUS_WIN_STATUS_FVE_NOT_DATA_VOLUME = 0xC021000C,
- MD_NTSTATUS_WIN_STATUS_FVE_CONV_READ_ERROR = 0xC021000D,
- MD_NTSTATUS_WIN_STATUS_FVE_CONV_WRITE_ERROR = 0xC021000E,
- MD_NTSTATUS_WIN_STATUS_FVE_OVERLAPPED_UPDATE = 0xC021000F,
- MD_NTSTATUS_WIN_STATUS_FVE_FAILED_SECTOR_SIZE = 0xC0210010,
- MD_NTSTATUS_WIN_STATUS_FVE_FAILED_AUTHENTICATION = 0xC0210011,
- MD_NTSTATUS_WIN_STATUS_FVE_NOT_OS_VOLUME = 0xC0210012,
- MD_NTSTATUS_WIN_STATUS_FVE_KEYFILE_NOT_FOUND = 0xC0210013,
- MD_NTSTATUS_WIN_STATUS_FVE_KEYFILE_INVALID = 0xC0210014,
- MD_NTSTATUS_WIN_STATUS_FVE_KEYFILE_NO_VMK = 0xC0210015,
- MD_NTSTATUS_WIN_STATUS_FVE_TPM_DISABLED = 0xC0210016,
- MD_NTSTATUS_WIN_STATUS_FVE_TPM_SRK_AUTH_NOT_ZERO = 0xC0210017,
- MD_NTSTATUS_WIN_STATUS_FVE_TPM_INVALID_PCR = 0xC0210018,
- MD_NTSTATUS_WIN_STATUS_FVE_TPM_NO_VMK = 0xC0210019,
- MD_NTSTATUS_WIN_STATUS_FVE_PIN_INVALID = 0xC021001A,
- MD_NTSTATUS_WIN_STATUS_FVE_AUTH_INVALID_APPLICATION = 0xC021001B,
- MD_NTSTATUS_WIN_STATUS_FVE_AUTH_INVALID_CONFIG = 0xC021001C,
- MD_NTSTATUS_WIN_STATUS_FVE_DEBUGGER_ENABLED = 0xC021001D,
- MD_NTSTATUS_WIN_STATUS_FVE_DRY_RUN_FAILED = 0xC021001E,
- MD_NTSTATUS_WIN_STATUS_FVE_BAD_METADATA_POINTER = 0xC021001F,
- MD_NTSTATUS_WIN_STATUS_FVE_OLD_METADATA_COPY = 0xC0210020,
- MD_NTSTATUS_WIN_STATUS_FVE_REBOOT_REQUIRED = 0xC0210021,
- MD_NTSTATUS_WIN_STATUS_FVE_RAW_ACCESS = 0xC0210022,
- MD_NTSTATUS_WIN_STATUS_FVE_RAW_BLOCKED = 0xC0210023,
- MD_NTSTATUS_WIN_STATUS_FVE_NO_AUTOUNLOCK_MASTER_KEY = 0xC0210024,
- MD_NTSTATUS_WIN_STATUS_FVE_MOR_FAILED = 0xC0210025,
- MD_NTSTATUS_WIN_STATUS_FVE_NO_FEATURE_LICENSE = 0xC0210026,
- MD_NTSTATUS_WIN_STATUS_FVE_POLICY_USER_DISABLE_RDV_NOT_ALLOWED = 0xC0210027,
- MD_NTSTATUS_WIN_STATUS_FVE_CONV_RECOVERY_FAILED = 0xC0210028,
- MD_NTSTATUS_WIN_STATUS_FVE_VIRTUALIZED_SPACE_TOO_BIG = 0xC0210029,
- MD_NTSTATUS_WIN_STATUS_FVE_INVALID_DATUM_TYPE = 0xC021002A,
- MD_NTSTATUS_WIN_STATUS_FVE_VOLUME_TOO_SMALL = 0xC0210030,
- MD_NTSTATUS_WIN_STATUS_FVE_ENH_PIN_INVALID = 0xC0210031,
- MD_NTSTATUS_WIN_STATUS_FVE_FULL_ENCRYPTION_NOT_ALLOWED_ON_TP_STORAGE = 0xC0210032,
- MD_NTSTATUS_WIN_STATUS_FVE_WIPE_NOT_ALLOWED_ON_TP_STORAGE = 0xC0210033,
- MD_NTSTATUS_WIN_STATUS_FVE_NOT_ALLOWED_ON_CSV_STACK = 0xC0210034,
- MD_NTSTATUS_WIN_STATUS_FVE_NOT_ALLOWED_ON_CLUSTER = 0xC0210035,
- MD_NTSTATUS_WIN_STATUS_FVE_NOT_ALLOWED_TO_UPGRADE_WHILE_CONVERTING = 0xC0210036,
- MD_NTSTATUS_WIN_STATUS_FVE_WIPE_CANCEL_NOT_APPLICABLE = 0xC0210037,
- MD_NTSTATUS_WIN_STATUS_FVE_EDRIVE_DRY_RUN_FAILED = 0xC0210038,
- MD_NTSTATUS_WIN_STATUS_FVE_SECUREBOOT_DISABLED = 0xC0210039,
- MD_NTSTATUS_WIN_STATUS_FVE_SECUREBOOT_CONFIG_CHANGE = 0xC021003A,
- MD_NTSTATUS_WIN_STATUS_FVE_DEVICE_LOCKEDOUT = 0xC021003B,
- MD_NTSTATUS_WIN_STATUS_FVE_VOLUME_EXTEND_PREVENTS_EOW_DECRYPT = 0xC021003C,
- MD_NTSTATUS_WIN_STATUS_FVE_NOT_DE_VOLUME = 0xC021003D,
- MD_NTSTATUS_WIN_STATUS_FVE_PROTECTION_DISABLED = 0xC021003E,
- MD_NTSTATUS_WIN_STATUS_FVE_PROTECTION_CANNOT_BE_DISABLED = 0xC021003F,
- MD_NTSTATUS_WIN_STATUS_FWP_CALLOUT_NOT_FOUND = 0xC0220001,
- MD_NTSTATUS_WIN_STATUS_FWP_CONDITION_NOT_FOUND = 0xC0220002,
- MD_NTSTATUS_WIN_STATUS_FWP_FILTER_NOT_FOUND = 0xC0220003,
- MD_NTSTATUS_WIN_STATUS_FWP_LAYER_NOT_FOUND = 0xC0220004,
- MD_NTSTATUS_WIN_STATUS_FWP_PROVIDER_NOT_FOUND = 0xC0220005,
- MD_NTSTATUS_WIN_STATUS_FWP_PROVIDER_CONTEXT_NOT_FOUND = 0xC0220006,
- MD_NTSTATUS_WIN_STATUS_FWP_SUBLAYER_NOT_FOUND = 0xC0220007,
- MD_NTSTATUS_WIN_STATUS_FWP_NOT_FOUND = 0xC0220008,
- MD_NTSTATUS_WIN_STATUS_FWP_ALREADY_EXISTS = 0xC0220009,
- MD_NTSTATUS_WIN_STATUS_FWP_IN_USE = 0xC022000A,
- MD_NTSTATUS_WIN_STATUS_FWP_DYNAMIC_SESSION_IN_PROGRESS = 0xC022000B,
- MD_NTSTATUS_WIN_STATUS_FWP_WRONG_SESSION = 0xC022000C,
- MD_NTSTATUS_WIN_STATUS_FWP_NO_TXN_IN_PROGRESS = 0xC022000D,
- MD_NTSTATUS_WIN_STATUS_FWP_TXN_IN_PROGRESS = 0xC022000E,
- MD_NTSTATUS_WIN_STATUS_FWP_TXN_ABORTED = 0xC022000F,
- MD_NTSTATUS_WIN_STATUS_FWP_SESSION_ABORTED = 0xC0220010,
- MD_NTSTATUS_WIN_STATUS_FWP_INCOMPATIBLE_TXN = 0xC0220011,
- MD_NTSTATUS_WIN_STATUS_FWP_TIMEOUT = 0xC0220012,
- MD_NTSTATUS_WIN_STATUS_FWP_NET_EVENTS_DISABLED = 0xC0220013,
- MD_NTSTATUS_WIN_STATUS_FWP_INCOMPATIBLE_LAYER = 0xC0220014,
- MD_NTSTATUS_WIN_STATUS_FWP_KM_CLIENTS_ONLY = 0xC0220015,
- MD_NTSTATUS_WIN_STATUS_FWP_LIFETIME_MISMATCH = 0xC0220016,
- MD_NTSTATUS_WIN_STATUS_FWP_BUILTIN_OBJECT = 0xC0220017,
- MD_NTSTATUS_WIN_STATUS_FWP_TOO_MANY_CALLOUTS = 0xC0220018,
- MD_NTSTATUS_WIN_STATUS_FWP_NOTIFICATION_DROPPED = 0xC0220019,
- MD_NTSTATUS_WIN_STATUS_FWP_TRAFFIC_MISMATCH = 0xC022001A,
- MD_NTSTATUS_WIN_STATUS_FWP_INCOMPATIBLE_SA_STATE = 0xC022001B,
- MD_NTSTATUS_WIN_STATUS_FWP_NULL_POINTER = 0xC022001C,
- MD_NTSTATUS_WIN_STATUS_FWP_INVALID_ENUMERATOR = 0xC022001D,
- MD_NTSTATUS_WIN_STATUS_FWP_INVALID_FLAGS = 0xC022001E,
- MD_NTSTATUS_WIN_STATUS_FWP_INVALID_NET_MASK = 0xC022001F,
- MD_NTSTATUS_WIN_STATUS_FWP_INVALID_RANGE = 0xC0220020,
- MD_NTSTATUS_WIN_STATUS_FWP_INVALID_INTERVAL = 0xC0220021,
- MD_NTSTATUS_WIN_STATUS_FWP_ZERO_LENGTH_ARRAY = 0xC0220022,
- MD_NTSTATUS_WIN_STATUS_FWP_NULL_DISPLAY_NAME = 0xC0220023,
- MD_NTSTATUS_WIN_STATUS_FWP_INVALID_ACTION_TYPE = 0xC0220024,
- MD_NTSTATUS_WIN_STATUS_FWP_INVALID_WEIGHT = 0xC0220025,
- MD_NTSTATUS_WIN_STATUS_FWP_MATCH_TYPE_MISMATCH = 0xC0220026,
- MD_NTSTATUS_WIN_STATUS_FWP_TYPE_MISMATCH = 0xC0220027,
- MD_NTSTATUS_WIN_STATUS_FWP_OUT_OF_BOUNDS = 0xC0220028,
- MD_NTSTATUS_WIN_STATUS_FWP_RESERVED = 0xC0220029,
- MD_NTSTATUS_WIN_STATUS_FWP_DUPLICATE_CONDITION = 0xC022002A,
- MD_NTSTATUS_WIN_STATUS_FWP_DUPLICATE_KEYMOD = 0xC022002B,
- MD_NTSTATUS_WIN_STATUS_FWP_ACTION_INCOMPATIBLE_WITH_LAYER = 0xC022002C,
- MD_NTSTATUS_WIN_STATUS_FWP_ACTION_INCOMPATIBLE_WITH_SUBLAYER = 0xC022002D,
- MD_NTSTATUS_WIN_STATUS_FWP_CONTEXT_INCOMPATIBLE_WITH_LAYER = 0xC022002E,
- MD_NTSTATUS_WIN_STATUS_FWP_CONTEXT_INCOMPATIBLE_WITH_CALLOUT = 0xC022002F,
- MD_NTSTATUS_WIN_STATUS_FWP_INCOMPATIBLE_AUTH_METHOD = 0xC0220030,
- MD_NTSTATUS_WIN_STATUS_FWP_INCOMPATIBLE_DH_GROUP = 0xC0220031,
- MD_NTSTATUS_WIN_STATUS_FWP_EM_NOT_SUPPORTED = 0xC0220032,
- MD_NTSTATUS_WIN_STATUS_FWP_NEVER_MATCH = 0xC0220033,
- MD_NTSTATUS_WIN_STATUS_FWP_PROVIDER_CONTEXT_MISMATCH = 0xC0220034,
- MD_NTSTATUS_WIN_STATUS_FWP_INVALID_PARAMETER = 0xC0220035,
- MD_NTSTATUS_WIN_STATUS_FWP_TOO_MANY_SUBLAYERS = 0xC0220036,
- MD_NTSTATUS_WIN_STATUS_FWP_CALLOUT_NOTIFICATION_FAILED = 0xC0220037,
- MD_NTSTATUS_WIN_STATUS_FWP_INVALID_AUTH_TRANSFORM = 0xC0220038,
- MD_NTSTATUS_WIN_STATUS_FWP_INVALID_CIPHER_TRANSFORM = 0xC0220039,
- MD_NTSTATUS_WIN_STATUS_FWP_INCOMPATIBLE_CIPHER_TRANSFORM = 0xC022003A,
- MD_NTSTATUS_WIN_STATUS_FWP_INVALID_TRANSFORM_COMBINATION = 0xC022003B,
- MD_NTSTATUS_WIN_STATUS_FWP_DUPLICATE_AUTH_METHOD = 0xC022003C,
- MD_NTSTATUS_WIN_STATUS_FWP_INVALID_TUNNEL_ENDPOINT = 0xC022003D,
- MD_NTSTATUS_WIN_STATUS_FWP_L2_DRIVER_NOT_READY = 0xC022003E,
- MD_NTSTATUS_WIN_STATUS_FWP_KEY_DICTATOR_ALREADY_REGISTERED = 0xC022003F,
- MD_NTSTATUS_WIN_STATUS_FWP_KEY_DICTATION_INVALID_KEYING_MATERIAL = 0xC0220040,
- MD_NTSTATUS_WIN_STATUS_FWP_CONNECTIONS_DISABLED = 0xC0220041,
- MD_NTSTATUS_WIN_STATUS_FWP_INVALID_DNS_NAME = 0xC0220042,
- MD_NTSTATUS_WIN_STATUS_FWP_STILL_ON = 0xC0220043,
- MD_NTSTATUS_WIN_STATUS_FWP_IKEEXT_NOT_RUNNING = 0xC0220044,
- MD_NTSTATUS_WIN_STATUS_FWP_TCPIP_NOT_READY = 0xC0220100,
- MD_NTSTATUS_WIN_STATUS_FWP_INJECT_HANDLE_CLOSING = 0xC0220101,
- MD_NTSTATUS_WIN_STATUS_FWP_INJECT_HANDLE_STALE = 0xC0220102,
- MD_NTSTATUS_WIN_STATUS_FWP_CANNOT_PEND = 0xC0220103,
- MD_NTSTATUS_WIN_STATUS_FWP_DROP_NOICMP = 0xC0220104,
- MD_NTSTATUS_WIN_STATUS_NDIS_CLOSING = 0xC0230002,
- MD_NTSTATUS_WIN_STATUS_NDIS_BAD_VERSION = 0xC0230004,
- MD_NTSTATUS_WIN_STATUS_NDIS_BAD_CHARACTERISTICS = 0xC0230005,
- MD_NTSTATUS_WIN_STATUS_NDIS_ADAPTER_NOT_FOUND = 0xC0230006,
- MD_NTSTATUS_WIN_STATUS_NDIS_OPEN_FAILED = 0xC0230007,
- MD_NTSTATUS_WIN_STATUS_NDIS_DEVICE_FAILED = 0xC0230008,
- MD_NTSTATUS_WIN_STATUS_NDIS_MULTICAST_FULL = 0xC0230009,
- MD_NTSTATUS_WIN_STATUS_NDIS_MULTICAST_EXISTS = 0xC023000A,
- MD_NTSTATUS_WIN_STATUS_NDIS_MULTICAST_NOT_FOUND = 0xC023000B,
- MD_NTSTATUS_WIN_STATUS_NDIS_REQUEST_ABORTED = 0xC023000C,
- MD_NTSTATUS_WIN_STATUS_NDIS_RESET_IN_PROGRESS = 0xC023000D,
- MD_NTSTATUS_WIN_STATUS_NDIS_INVALID_PACKET = 0xC023000F,
- MD_NTSTATUS_WIN_STATUS_NDIS_INVALID_DEVICE_REQUEST = 0xC0230010,
- MD_NTSTATUS_WIN_STATUS_NDIS_ADAPTER_NOT_READY = 0xC0230011,
- MD_NTSTATUS_WIN_STATUS_NDIS_INVALID_LENGTH = 0xC0230014,
- MD_NTSTATUS_WIN_STATUS_NDIS_INVALID_DATA = 0xC0230015,
- MD_NTSTATUS_WIN_STATUS_NDIS_BUFFER_TOO_SHORT = 0xC0230016,
- MD_NTSTATUS_WIN_STATUS_NDIS_INVALID_OID = 0xC0230017,
- MD_NTSTATUS_WIN_STATUS_NDIS_ADAPTER_REMOVED = 0xC0230018,
- MD_NTSTATUS_WIN_STATUS_NDIS_UNSUPPORTED_MEDIA = 0xC0230019,
- MD_NTSTATUS_WIN_STATUS_NDIS_GROUP_ADDRESS_IN_USE = 0xC023001A,
- MD_NTSTATUS_WIN_STATUS_NDIS_FILE_NOT_FOUND = 0xC023001B,
- MD_NTSTATUS_WIN_STATUS_NDIS_ERROR_READING_FILE = 0xC023001C,
- MD_NTSTATUS_WIN_STATUS_NDIS_ALREADY_MAPPED = 0xC023001D,
- MD_NTSTATUS_WIN_STATUS_NDIS_RESOURCE_CONFLICT = 0xC023001E,
- MD_NTSTATUS_WIN_STATUS_NDIS_MEDIA_DISCONNECTED = 0xC023001F,
- MD_NTSTATUS_WIN_STATUS_NDIS_INVALID_ADDRESS = 0xC0230022,
- MD_NTSTATUS_WIN_STATUS_NDIS_PAUSED = 0xC023002A,
- MD_NTSTATUS_WIN_STATUS_NDIS_INTERFACE_NOT_FOUND = 0xC023002B,
- MD_NTSTATUS_WIN_STATUS_NDIS_UNSUPPORTED_REVISION = 0xC023002C,
- MD_NTSTATUS_WIN_STATUS_NDIS_INVALID_PORT = 0xC023002D,
- MD_NTSTATUS_WIN_STATUS_NDIS_INVALID_PORT_STATE = 0xC023002E,
- MD_NTSTATUS_WIN_STATUS_NDIS_LOW_POWER_STATE = 0xC023002F,
- MD_NTSTATUS_WIN_STATUS_NDIS_REINIT_REQUIRED = 0xC0230030,
- MD_NTSTATUS_WIN_STATUS_NDIS_NOT_SUPPORTED = 0xC02300BB,
- MD_NTSTATUS_WIN_STATUS_NDIS_OFFLOAD_POLICY = 0xC023100F,
- MD_NTSTATUS_WIN_STATUS_NDIS_OFFLOAD_CONNECTION_REJECTED = 0xC0231012,
- MD_NTSTATUS_WIN_STATUS_NDIS_OFFLOAD_PATH_REJECTED = 0xC0231013,
- MD_NTSTATUS_WIN_STATUS_NDIS_DOT11_AUTO_CONFIG_ENABLED = 0xC0232000,
- MD_NTSTATUS_WIN_STATUS_NDIS_DOT11_MEDIA_IN_USE = 0xC0232001,
- MD_NTSTATUS_WIN_STATUS_NDIS_DOT11_POWER_STATE_INVALID = 0xC0232002,
- MD_NTSTATUS_WIN_STATUS_NDIS_PM_WOL_PATTERN_LIST_FULL = 0xC0232003,
- MD_NTSTATUS_WIN_STATUS_NDIS_PM_PROTOCOL_OFFLOAD_LIST_FULL = 0xC0232004,
- MD_NTSTATUS_WIN_STATUS_TPM_ERROR_MASK = 0xC0290000,
- MD_NTSTATUS_WIN_STATUS_TPM_AUTHFAIL = 0xC0290001,
- MD_NTSTATUS_WIN_STATUS_TPM_BADINDEX = 0xC0290002,
- MD_NTSTATUS_WIN_STATUS_TPM_BAD_PARAMETER = 0xC0290003,
- MD_NTSTATUS_WIN_STATUS_TPM_AUDITFAILURE = 0xC0290004,
- MD_NTSTATUS_WIN_STATUS_TPM_CLEAR_DISABLED = 0xC0290005,
- MD_NTSTATUS_WIN_STATUS_TPM_DEACTIVATED = 0xC0290006,
- MD_NTSTATUS_WIN_STATUS_TPM_DISABLED = 0xC0290007,
- MD_NTSTATUS_WIN_STATUS_TPM_DISABLED_CMD = 0xC0290008,
- MD_NTSTATUS_WIN_STATUS_TPM_FAIL = 0xC0290009,
- MD_NTSTATUS_WIN_STATUS_TPM_BAD_ORDINAL = 0xC029000A,
- MD_NTSTATUS_WIN_STATUS_TPM_INSTALL_DISABLED = 0xC029000B,
- MD_NTSTATUS_WIN_STATUS_TPM_INVALID_KEYHANDLE = 0xC029000C,
- MD_NTSTATUS_WIN_STATUS_TPM_KEYNOTFOUND = 0xC029000D,
- MD_NTSTATUS_WIN_STATUS_TPM_INAPPROPRIATE_ENC = 0xC029000E,
- MD_NTSTATUS_WIN_STATUS_TPM_MIGRATEFAIL = 0xC029000F,
- MD_NTSTATUS_WIN_STATUS_TPM_INVALID_PCR_INFO = 0xC0290010,
- MD_NTSTATUS_WIN_STATUS_TPM_NOSPACE = 0xC0290011,
- MD_NTSTATUS_WIN_STATUS_TPM_NOSRK = 0xC0290012,
- MD_NTSTATUS_WIN_STATUS_TPM_NOTSEALED_BLOB = 0xC0290013,
- MD_NTSTATUS_WIN_STATUS_TPM_OWNER_SET = 0xC0290014,
- MD_NTSTATUS_WIN_STATUS_TPM_RESOURCES = 0xC0290015,
- MD_NTSTATUS_WIN_STATUS_TPM_SHORTRANDOM = 0xC0290016,
- MD_NTSTATUS_WIN_STATUS_TPM_SIZE = 0xC0290017,
- MD_NTSTATUS_WIN_STATUS_TPM_WRONGPCRVAL = 0xC0290018,
- MD_NTSTATUS_WIN_STATUS_TPM_BAD_PARAM_SIZE = 0xC0290019,
- MD_NTSTATUS_WIN_STATUS_TPM_SHA_THREAD = 0xC029001A,
- MD_NTSTATUS_WIN_STATUS_TPM_SHA_ERROR = 0xC029001B,
- MD_NTSTATUS_WIN_STATUS_TPM_FAILEDSELFTEST = 0xC029001C,
- MD_NTSTATUS_WIN_STATUS_TPM_AUTH2FAIL = 0xC029001D,
- MD_NTSTATUS_WIN_STATUS_TPM_BADTAG = 0xC029001E,
- MD_NTSTATUS_WIN_STATUS_TPM_IOERROR = 0xC029001F,
- MD_NTSTATUS_WIN_STATUS_TPM_ENCRYPT_ERROR = 0xC0290020,
- MD_NTSTATUS_WIN_STATUS_TPM_DECRYPT_ERROR = 0xC0290021,
- MD_NTSTATUS_WIN_STATUS_TPM_INVALID_AUTHHANDLE = 0xC0290022,
- MD_NTSTATUS_WIN_STATUS_TPM_NO_ENDORSEMENT = 0xC0290023,
- MD_NTSTATUS_WIN_STATUS_TPM_INVALID_KEYUSAGE = 0xC0290024,
- MD_NTSTATUS_WIN_STATUS_TPM_WRONG_ENTITYTYPE = 0xC0290025,
- MD_NTSTATUS_WIN_STATUS_TPM_INVALID_POSTINIT = 0xC0290026,
- MD_NTSTATUS_WIN_STATUS_TPM_INAPPROPRIATE_SIG = 0xC0290027,
- MD_NTSTATUS_WIN_STATUS_TPM_BAD_KEY_PROPERTY = 0xC0290028,
- MD_NTSTATUS_WIN_STATUS_TPM_BAD_MIGRATION = 0xC0290029,
- MD_NTSTATUS_WIN_STATUS_TPM_BAD_SCHEME = 0xC029002A,
- MD_NTSTATUS_WIN_STATUS_TPM_BAD_DATASIZE = 0xC029002B,
- MD_NTSTATUS_WIN_STATUS_TPM_BAD_MODE = 0xC029002C,
- MD_NTSTATUS_WIN_STATUS_TPM_BAD_PRESENCE = 0xC029002D,
- MD_NTSTATUS_WIN_STATUS_TPM_BAD_VERSION = 0xC029002E,
- MD_NTSTATUS_WIN_STATUS_TPM_NO_WRAP_TRANSPORT = 0xC029002F,
- MD_NTSTATUS_WIN_STATUS_TPM_AUDITFAIL_UNSUCCESSFUL = 0xC0290030,
- MD_NTSTATUS_WIN_STATUS_TPM_AUDITFAIL_SUCCESSFUL = 0xC0290031,
- MD_NTSTATUS_WIN_STATUS_TPM_NOTRESETABLE = 0xC0290032,
- MD_NTSTATUS_WIN_STATUS_TPM_NOTLOCAL = 0xC0290033,
- MD_NTSTATUS_WIN_STATUS_TPM_BAD_TYPE = 0xC0290034,
- MD_NTSTATUS_WIN_STATUS_TPM_INVALID_RESOURCE = 0xC0290035,
- MD_NTSTATUS_WIN_STATUS_TPM_NOTFIPS = 0xC0290036,
- MD_NTSTATUS_WIN_STATUS_TPM_INVALID_FAMILY = 0xC0290037,
- MD_NTSTATUS_WIN_STATUS_TPM_NO_NV_PERMISSION = 0xC0290038,
- MD_NTSTATUS_WIN_STATUS_TPM_REQUIRES_SIGN = 0xC0290039,
- MD_NTSTATUS_WIN_STATUS_TPM_KEY_NOTSUPPORTED = 0xC029003A,
- MD_NTSTATUS_WIN_STATUS_TPM_AUTH_CONFLICT = 0xC029003B,
- MD_NTSTATUS_WIN_STATUS_TPM_AREA_LOCKED = 0xC029003C,
- MD_NTSTATUS_WIN_STATUS_TPM_BAD_LOCALITY = 0xC029003D,
- MD_NTSTATUS_WIN_STATUS_TPM_READ_ONLY = 0xC029003E,
- MD_NTSTATUS_WIN_STATUS_TPM_PER_NOWRITE = 0xC029003F,
- MD_NTSTATUS_WIN_STATUS_TPM_FAMILYCOUNT = 0xC0290040,
- MD_NTSTATUS_WIN_STATUS_TPM_WRITE_LOCKED = 0xC0290041,
- MD_NTSTATUS_WIN_STATUS_TPM_BAD_ATTRIBUTES = 0xC0290042,
- MD_NTSTATUS_WIN_STATUS_TPM_INVALID_STRUCTURE = 0xC0290043,
- MD_NTSTATUS_WIN_STATUS_TPM_KEY_OWNER_CONTROL = 0xC0290044,
- MD_NTSTATUS_WIN_STATUS_TPM_BAD_COUNTER = 0xC0290045,
- MD_NTSTATUS_WIN_STATUS_TPM_NOT_FULLWRITE = 0xC0290046,
- MD_NTSTATUS_WIN_STATUS_TPM_CONTEXT_GAP = 0xC0290047,
- MD_NTSTATUS_WIN_STATUS_TPM_MAXNVWRITES = 0xC0290048,
- MD_NTSTATUS_WIN_STATUS_TPM_NOOPERATOR = 0xC0290049,
- MD_NTSTATUS_WIN_STATUS_TPM_RESOURCEMISSING = 0xC029004A,
- MD_NTSTATUS_WIN_STATUS_TPM_DELEGATE_LOCK = 0xC029004B,
- MD_NTSTATUS_WIN_STATUS_TPM_DELEGATE_FAMILY = 0xC029004C,
- MD_NTSTATUS_WIN_STATUS_TPM_DELEGATE_ADMIN = 0xC029004D,
- MD_NTSTATUS_WIN_STATUS_TPM_TRANSPORT_NOTEXCLUSIVE = 0xC029004E,
- MD_NTSTATUS_WIN_STATUS_TPM_OWNER_CONTROL = 0xC029004F,
- MD_NTSTATUS_WIN_STATUS_TPM_DAA_RESOURCES = 0xC0290050,
- MD_NTSTATUS_WIN_STATUS_TPM_DAA_INPUT_DATA0 = 0xC0290051,
- MD_NTSTATUS_WIN_STATUS_TPM_DAA_INPUT_DATA1 = 0xC0290052,
- MD_NTSTATUS_WIN_STATUS_TPM_DAA_ISSUER_SETTINGS = 0xC0290053,
- MD_NTSTATUS_WIN_STATUS_TPM_DAA_TPM_SETTINGS = 0xC0290054,
- MD_NTSTATUS_WIN_STATUS_TPM_DAA_STAGE = 0xC0290055,
- MD_NTSTATUS_WIN_STATUS_TPM_DAA_ISSUER_VALIDITY = 0xC0290056,
- MD_NTSTATUS_WIN_STATUS_TPM_DAA_WRONG_W = 0xC0290057,
- MD_NTSTATUS_WIN_STATUS_TPM_BAD_HANDLE = 0xC0290058,
- MD_NTSTATUS_WIN_STATUS_TPM_BAD_DELEGATE = 0xC0290059,
- MD_NTSTATUS_WIN_STATUS_TPM_BADCONTEXT = 0xC029005A,
- MD_NTSTATUS_WIN_STATUS_TPM_TOOMANYCONTEXTS = 0xC029005B,
- MD_NTSTATUS_WIN_STATUS_TPM_MA_TICKET_SIGNATURE = 0xC029005C,
- MD_NTSTATUS_WIN_STATUS_TPM_MA_DESTINATION = 0xC029005D,
- MD_NTSTATUS_WIN_STATUS_TPM_MA_SOURCE = 0xC029005E,
- MD_NTSTATUS_WIN_STATUS_TPM_MA_AUTHORITY = 0xC029005F,
- MD_NTSTATUS_WIN_STATUS_TPM_PERMANENTEK = 0xC0290061,
- MD_NTSTATUS_WIN_STATUS_TPM_BAD_SIGNATURE = 0xC0290062,
- MD_NTSTATUS_WIN_STATUS_TPM_NOCONTEXTSPACE = 0xC0290063,
- MD_NTSTATUS_WIN_STATUS_TPM_COMMAND_BLOCKED = 0xC0290400,
- MD_NTSTATUS_WIN_STATUS_TPM_INVALID_HANDLE = 0xC0290401,
- MD_NTSTATUS_WIN_STATUS_TPM_DUPLICATE_VHANDLE = 0xC0290402,
- MD_NTSTATUS_WIN_STATUS_TPM_EMBEDDED_COMMAND_BLOCKED = 0xC0290403,
- MD_NTSTATUS_WIN_STATUS_TPM_EMBEDDED_COMMAND_UNSUPPORTED = 0xC0290404,
- MD_NTSTATUS_WIN_STATUS_TPM_RETRY = 0xC0290800,
- MD_NTSTATUS_WIN_STATUS_TPM_NEEDS_SELFTEST = 0xC0290801,
- MD_NTSTATUS_WIN_STATUS_TPM_DOING_SELFTEST = 0xC0290802,
- MD_NTSTATUS_WIN_STATUS_TPM_DEFEND_LOCK_RUNNING = 0xC0290803,
- MD_NTSTATUS_WIN_STATUS_TPM_COMMAND_CANCELED = 0xC0291001,
- MD_NTSTATUS_WIN_STATUS_TPM_TOO_MANY_CONTEXTS = 0xC0291002,
- MD_NTSTATUS_WIN_STATUS_TPM_NOT_FOUND = 0xC0291003,
- MD_NTSTATUS_WIN_STATUS_TPM_ACCESS_DENIED = 0xC0291004,
- MD_NTSTATUS_WIN_STATUS_TPM_INSUFFICIENT_BUFFER = 0xC0291005,
- MD_NTSTATUS_WIN_STATUS_TPM_PPI_FUNCTION_UNSUPPORTED = 0xC0291006,
- MD_NTSTATUS_WIN_STATUS_PCP_ERROR_MASK = 0xC0292000,
- MD_NTSTATUS_WIN_STATUS_PCP_DEVICE_NOT_READY = 0xC0292001,
- MD_NTSTATUS_WIN_STATUS_PCP_INVALID_HANDLE = 0xC0292002,
- MD_NTSTATUS_WIN_STATUS_PCP_INVALID_PARAMETER = 0xC0292003,
- MD_NTSTATUS_WIN_STATUS_PCP_FLAG_NOT_SUPPORTED = 0xC0292004,
- MD_NTSTATUS_WIN_STATUS_PCP_NOT_SUPPORTED = 0xC0292005,
- MD_NTSTATUS_WIN_STATUS_PCP_BUFFER_TOO_SMALL = 0xC0292006,
- MD_NTSTATUS_WIN_STATUS_PCP_INTERNAL_ERROR = 0xC0292007,
- MD_NTSTATUS_WIN_STATUS_PCP_AUTHENTICATION_FAILED = 0xC0292008,
- MD_NTSTATUS_WIN_STATUS_PCP_AUTHENTICATION_IGNORED = 0xC0292009,
- MD_NTSTATUS_WIN_STATUS_PCP_POLICY_NOT_FOUND = 0xC029200A,
- MD_NTSTATUS_WIN_STATUS_PCP_PROFILE_NOT_FOUND = 0xC029200B,
- MD_NTSTATUS_WIN_STATUS_PCP_VALIDATION_FAILED = 0xC029200C,
- MD_NTSTATUS_WIN_STATUS_PCP_DEVICE_NOT_FOUND = 0xC029200D,
- MD_NTSTATUS_WIN_STATUS_HV_INVALID_HYPERCALL_CODE = 0xC0350002,
- MD_NTSTATUS_WIN_STATUS_HV_INVALID_HYPERCALL_INPUT = 0xC0350003,
- MD_NTSTATUS_WIN_STATUS_HV_INVALID_ALIGNMENT = 0xC0350004,
- MD_NTSTATUS_WIN_STATUS_HV_INVALID_PARAMETER = 0xC0350005,
- MD_NTSTATUS_WIN_STATUS_HV_ACCESS_DENIED = 0xC0350006,
- MD_NTSTATUS_WIN_STATUS_HV_INVALID_PARTITION_STATE = 0xC0350007,
- MD_NTSTATUS_WIN_STATUS_HV_OPERATION_DENIED = 0xC0350008,
- MD_NTSTATUS_WIN_STATUS_HV_UNKNOWN_PROPERTY = 0xC0350009,
- MD_NTSTATUS_WIN_STATUS_HV_PROPERTY_VALUE_OUT_OF_RANGE = 0xC035000A,
- MD_NTSTATUS_WIN_STATUS_HV_INSUFFICIENT_MEMORY = 0xC035000B,
- MD_NTSTATUS_WIN_STATUS_HV_PARTITION_TOO_DEEP = 0xC035000C,
- MD_NTSTATUS_WIN_STATUS_HV_INVALID_PARTITION_ID = 0xC035000D,
- MD_NTSTATUS_WIN_STATUS_HV_INVALID_VP_INDEX = 0xC035000E,
- MD_NTSTATUS_WIN_STATUS_HV_INVALID_PORT_ID = 0xC0350011,
- MD_NTSTATUS_WIN_STATUS_HV_INVALID_CONNECTION_ID = 0xC0350012,
- MD_NTSTATUS_WIN_STATUS_HV_INSUFFICIENT_BUFFERS = 0xC0350013,
- MD_NTSTATUS_WIN_STATUS_HV_NOT_ACKNOWLEDGED = 0xC0350014,
- MD_NTSTATUS_WIN_STATUS_HV_ACKNOWLEDGED = 0xC0350016,
- MD_NTSTATUS_WIN_STATUS_HV_INVALID_SAVE_RESTORE_STATE = 0xC0350017,
- MD_NTSTATUS_WIN_STATUS_HV_INVALID_SYNIC_STATE = 0xC0350018,
- MD_NTSTATUS_WIN_STATUS_HV_OBJECT_IN_USE = 0xC0350019,
- MD_NTSTATUS_WIN_STATUS_HV_INVALID_PROXIMITY_DOMAIN_INFO = 0xC035001A,
- MD_NTSTATUS_WIN_STATUS_HV_NO_DATA = 0xC035001B,
- MD_NTSTATUS_WIN_STATUS_HV_INACTIVE = 0xC035001C,
- MD_NTSTATUS_WIN_STATUS_HV_NO_RESOURCES = 0xC035001D,
- MD_NTSTATUS_WIN_STATUS_HV_FEATURE_UNAVAILABLE = 0xC035001E,
- MD_NTSTATUS_WIN_STATUS_HV_INSUFFICIENT_BUFFER = 0xC0350033,
- MD_NTSTATUS_WIN_STATUS_HV_INSUFFICIENT_DEVICE_DOMAINS = 0xC0350038,
- MD_NTSTATUS_WIN_STATUS_HV_INVALID_LP_INDEX = 0xC0350041,
- MD_NTSTATUS_WIN_STATUS_HV_NOT_PRESENT = 0xC0351000,
- MD_NTSTATUS_WIN_STATUS_IPSEC_BAD_SPI = 0xC0360001,
- MD_NTSTATUS_WIN_STATUS_IPSEC_SA_LIFETIME_EXPIRED = 0xC0360002,
- MD_NTSTATUS_WIN_STATUS_IPSEC_WRONG_SA = 0xC0360003,
- MD_NTSTATUS_WIN_STATUS_IPSEC_REPLAY_CHECK_FAILED = 0xC0360004,
- MD_NTSTATUS_WIN_STATUS_IPSEC_INVALID_PACKET = 0xC0360005,
- MD_NTSTATUS_WIN_STATUS_IPSEC_INTEGRITY_CHECK_FAILED = 0xC0360006,
- MD_NTSTATUS_WIN_STATUS_IPSEC_CLEAR_TEXT_DROP = 0xC0360007,
- MD_NTSTATUS_WIN_STATUS_IPSEC_AUTH_FIREWALL_DROP = 0xC0360008,
- MD_NTSTATUS_WIN_STATUS_IPSEC_THROTTLE_DROP = 0xC0360009,
- MD_NTSTATUS_WIN_STATUS_IPSEC_DOSP_BLOCK = 0xC0368000,
- MD_NTSTATUS_WIN_STATUS_IPSEC_DOSP_RECEIVED_MULTICAST = 0xC0368001,
- MD_NTSTATUS_WIN_STATUS_IPSEC_DOSP_INVALID_PACKET = 0xC0368002,
- MD_NTSTATUS_WIN_STATUS_IPSEC_DOSP_STATE_LOOKUP_FAILED = 0xC0368003,
- MD_NTSTATUS_WIN_STATUS_IPSEC_DOSP_MAX_ENTRIES = 0xC0368004,
- MD_NTSTATUS_WIN_STATUS_IPSEC_DOSP_KEYMOD_NOT_ALLOWED = 0xC0368005,
- MD_NTSTATUS_WIN_STATUS_IPSEC_DOSP_MAX_PER_IP_RATELIMIT_QUEUES = 0xC0368006,
- MD_NTSTATUS_WIN_STATUS_VID_DUPLICATE_HANDLER = 0xC0370001,
- MD_NTSTATUS_WIN_STATUS_VID_TOO_MANY_HANDLERS = 0xC0370002,
- MD_NTSTATUS_WIN_STATUS_VID_QUEUE_FULL = 0xC0370003,
- MD_NTSTATUS_WIN_STATUS_VID_HANDLER_NOT_PRESENT = 0xC0370004,
- MD_NTSTATUS_WIN_STATUS_VID_INVALID_OBJECT_NAME = 0xC0370005,
- MD_NTSTATUS_WIN_STATUS_VID_PARTITION_NAME_TOO_LONG = 0xC0370006,
- MD_NTSTATUS_WIN_STATUS_VID_MESSAGE_QUEUE_NAME_TOO_LONG = 0xC0370007,
- MD_NTSTATUS_WIN_STATUS_VID_PARTITION_ALREADY_EXISTS = 0xC0370008,
- MD_NTSTATUS_WIN_STATUS_VID_PARTITION_DOES_NOT_EXIST = 0xC0370009,
- MD_NTSTATUS_WIN_STATUS_VID_PARTITION_NAME_NOT_FOUND = 0xC037000A,
- MD_NTSTATUS_WIN_STATUS_VID_MESSAGE_QUEUE_ALREADY_EXISTS = 0xC037000B,
- MD_NTSTATUS_WIN_STATUS_VID_EXCEEDED_MBP_ENTRY_MAP_LIMIT = 0xC037000C,
- MD_NTSTATUS_WIN_STATUS_VID_MB_STILL_REFERENCED = 0xC037000D,
- MD_NTSTATUS_WIN_STATUS_VID_CHILD_GPA_PAGE_SET_CORRUPTED = 0xC037000E,
- MD_NTSTATUS_WIN_STATUS_VID_INVALID_NUMA_SETTINGS = 0xC037000F,
- MD_NTSTATUS_WIN_STATUS_VID_INVALID_NUMA_NODE_INDEX = 0xC0370010,
- MD_NTSTATUS_WIN_STATUS_VID_NOTIFICATION_QUEUE_ALREADY_ASSOCIATED = 0xC0370011,
- MD_NTSTATUS_WIN_STATUS_VID_INVALID_MEMORY_BLOCK_HANDLE = 0xC0370012,
- MD_NTSTATUS_WIN_STATUS_VID_PAGE_RANGE_OVERFLOW = 0xC0370013,
- MD_NTSTATUS_WIN_STATUS_VID_INVALID_MESSAGE_QUEUE_HANDLE = 0xC0370014,
- MD_NTSTATUS_WIN_STATUS_VID_INVALID_GPA_RANGE_HANDLE = 0xC0370015,
- MD_NTSTATUS_WIN_STATUS_VID_NO_MEMORY_BLOCK_NOTIFICATION_QUEUE = 0xC0370016,
- MD_NTSTATUS_WIN_STATUS_VID_MEMORY_BLOCK_LOCK_COUNT_EXCEEDED = 0xC0370017,
- MD_NTSTATUS_WIN_STATUS_VID_INVALID_PPM_HANDLE = 0xC0370018,
- MD_NTSTATUS_WIN_STATUS_VID_MBPS_ARE_LOCKED = 0xC0370019,
- MD_NTSTATUS_WIN_STATUS_VID_MESSAGE_QUEUE_CLOSED = 0xC037001A,
- MD_NTSTATUS_WIN_STATUS_VID_VIRTUAL_PROCESSOR_LIMIT_EXCEEDED = 0xC037001B,
- MD_NTSTATUS_WIN_STATUS_VID_STOP_PENDING = 0xC037001C,
- MD_NTSTATUS_WIN_STATUS_VID_INVALID_PROCESSOR_STATE = 0xC037001D,
- MD_NTSTATUS_WIN_STATUS_VID_EXCEEDED_KM_CONTEXT_COUNT_LIMIT = 0xC037001E,
- MD_NTSTATUS_WIN_STATUS_VID_KM_INTERFACE_ALREADY_INITIALIZED = 0xC037001F,
- MD_NTSTATUS_WIN_STATUS_VID_MB_PROPERTY_ALREADY_SET_RESET = 0xC0370020,
- MD_NTSTATUS_WIN_STATUS_VID_MMIO_RANGE_DESTROYED = 0xC0370021,
- MD_NTSTATUS_WIN_STATUS_VID_INVALID_CHILD_GPA_PAGE_SET = 0xC0370022,
- MD_NTSTATUS_WIN_STATUS_VID_RESERVE_PAGE_SET_IS_BEING_USED = 0xC0370023,
- MD_NTSTATUS_WIN_STATUS_VID_RESERVE_PAGE_SET_TOO_SMALL = 0xC0370024,
- MD_NTSTATUS_WIN_STATUS_VID_MBP_ALREADY_LOCKED_USING_RESERVED_PAGE = 0xC0370025,
- MD_NTSTATUS_WIN_STATUS_VID_MBP_COUNT_EXCEEDED_LIMIT = 0xC0370026,
- MD_NTSTATUS_WIN_STATUS_VID_SAVED_STATE_CORRUPT = 0xC0370027,
- MD_NTSTATUS_WIN_STATUS_VID_SAVED_STATE_UNRECOGNIZED_ITEM = 0xC0370028,
- MD_NTSTATUS_WIN_STATUS_VID_SAVED_STATE_INCOMPATIBLE = 0xC0370029,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_DATABASE_FULL = 0xC0380001,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_CONFIGURATION_CORRUPTED = 0xC0380002,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_CONFIGURATION_NOT_IN_SYNC = 0xC0380003,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_PACK_CONFIG_UPDATE_FAILED = 0xC0380004,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_CONTAINS_NON_SIMPLE_VOLUME = 0xC0380005,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_DUPLICATE = 0xC0380006,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_DYNAMIC = 0xC0380007,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_ID_INVALID = 0xC0380008,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_INVALID = 0xC0380009,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_LAST_VOTER = 0xC038000A,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_LAYOUT_INVALID = 0xC038000B,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_LAYOUT_NON_BASIC_BETWEEN_BASIC_PARTITIONS = 0xC038000C,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_LAYOUT_NOT_CYLINDER_ALIGNED = 0xC038000D,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_LAYOUT_PARTITIONS_TOO_SMALL = 0xC038000E,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_LAYOUT_PRIMARY_BETWEEN_LOGICAL_PARTITIONS = 0xC038000F,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_LAYOUT_TOO_MANY_PARTITIONS = 0xC0380010,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_MISSING = 0xC0380011,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_NOT_EMPTY = 0xC0380012,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_NOT_ENOUGH_SPACE = 0xC0380013,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_REVECTORING_FAILED = 0xC0380014,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_SECTOR_SIZE_INVALID = 0xC0380015,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_SET_NOT_CONTAINED = 0xC0380016,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_USED_BY_MULTIPLE_MEMBERS = 0xC0380017,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_DISK_USED_BY_MULTIPLE_PLEXES = 0xC0380018,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_DYNAMIC_DISK_NOT_SUPPORTED = 0xC0380019,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_EXTENT_ALREADY_USED = 0xC038001A,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_EXTENT_NOT_CONTIGUOUS = 0xC038001B,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_EXTENT_NOT_IN_PUBLIC_REGION = 0xC038001C,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_EXTENT_NOT_SECTOR_ALIGNED = 0xC038001D,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_EXTENT_OVERLAPS_EBR_PARTITION = 0xC038001E,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_EXTENT_VOLUME_LENGTHS_DO_NOT_MATCH = 0xC038001F,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_FAULT_TOLERANT_NOT_SUPPORTED = 0xC0380020,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_INTERLEAVE_LENGTH_INVALID = 0xC0380021,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_MAXIMUM_REGISTERED_USERS = 0xC0380022,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_MEMBER_IN_SYNC = 0xC0380023,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_MEMBER_INDEX_DUPLICATE = 0xC0380024,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_MEMBER_INDEX_INVALID = 0xC0380025,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_MEMBER_MISSING = 0xC0380026,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_MEMBER_NOT_DETACHED = 0xC0380027,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_MEMBER_REGENERATING = 0xC0380028,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_ALL_DISKS_FAILED = 0xC0380029,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_NO_REGISTERED_USERS = 0xC038002A,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_NO_SUCH_USER = 0xC038002B,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_NOTIFICATION_RESET = 0xC038002C,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_NUMBER_OF_MEMBERS_INVALID = 0xC038002D,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_NUMBER_OF_PLEXES_INVALID = 0xC038002E,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_PACK_DUPLICATE = 0xC038002F,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_PACK_ID_INVALID = 0xC0380030,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_PACK_INVALID = 0xC0380031,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_PACK_NAME_INVALID = 0xC0380032,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_PACK_OFFLINE = 0xC0380033,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_PACK_HAS_QUORUM = 0xC0380034,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_PACK_WITHOUT_QUORUM = 0xC0380035,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_PARTITION_STYLE_INVALID = 0xC0380036,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_PARTITION_UPDATE_FAILED = 0xC0380037,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_PLEX_IN_SYNC = 0xC0380038,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_PLEX_INDEX_DUPLICATE = 0xC0380039,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_PLEX_INDEX_INVALID = 0xC038003A,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_PLEX_LAST_ACTIVE = 0xC038003B,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_PLEX_MISSING = 0xC038003C,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_PLEX_REGENERATING = 0xC038003D,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_PLEX_TYPE_INVALID = 0xC038003E,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_PLEX_NOT_RAID5 = 0xC038003F,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_PLEX_NOT_SIMPLE = 0xC0380040,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_STRUCTURE_SIZE_INVALID = 0xC0380041,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_TOO_MANY_NOTIFICATION_REQUESTS = 0xC0380042,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_TRANSACTION_IN_PROGRESS = 0xC0380043,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_UNEXPECTED_DISK_LAYOUT_CHANGE = 0xC0380044,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_VOLUME_CONTAINS_MISSING_DISK = 0xC0380045,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_VOLUME_ID_INVALID = 0xC0380046,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_VOLUME_LENGTH_INVALID = 0xC0380047,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_VOLUME_LENGTH_NOT_SECTOR_SIZE_MULTIPLE = 0xC0380048,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_VOLUME_NOT_MIRRORED = 0xC0380049,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_VOLUME_NOT_RETAINED = 0xC038004A,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_VOLUME_OFFLINE = 0xC038004B,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_VOLUME_RETAINED = 0xC038004C,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_NUMBER_OF_EXTENTS_INVALID = 0xC038004D,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_DIFFERENT_SECTOR_SIZE = 0xC038004E,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_BAD_BOOT_DISK = 0xC038004F,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_PACK_CONFIG_OFFLINE = 0xC0380050,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_PACK_CONFIG_ONLINE = 0xC0380051,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_NOT_PRIMARY_PACK = 0xC0380052,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_PACK_LOG_UPDATE_FAILED = 0xC0380053,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_NUMBER_OF_DISKS_IN_PLEX_INVALID = 0xC0380054,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_NUMBER_OF_DISKS_IN_MEMBER_INVALID = 0xC0380055,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_VOLUME_MIRRORED = 0xC0380056,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_PLEX_NOT_SIMPLE_SPANNED = 0xC0380057,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_NO_VALID_LOG_COPIES = 0xC0380058,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_PRIMARY_PACK_PRESENT = 0xC0380059,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_NUMBER_OF_DISKS_INVALID = 0xC038005A,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_MIRROR_NOT_SUPPORTED = 0xC038005B,
- MD_NTSTATUS_WIN_STATUS_VOLMGR_RAID5_NOT_SUPPORTED = 0xC038005C,
- MD_NTSTATUS_WIN_STATUS_BCD_TOO_MANY_ELEMENTS = 0xC0390002,
- MD_NTSTATUS_WIN_STATUS_VHD_DRIVE_FOOTER_MISSING = 0xC03A0001,
- MD_NTSTATUS_WIN_STATUS_VHD_DRIVE_FOOTER_CHECKSUM_MISMATCH = 0xC03A0002,
- MD_NTSTATUS_WIN_STATUS_VHD_DRIVE_FOOTER_CORRUPT = 0xC03A0003,
- MD_NTSTATUS_WIN_STATUS_VHD_FORMAT_UNKNOWN = 0xC03A0004,
- MD_NTSTATUS_WIN_STATUS_VHD_FORMAT_UNSUPPORTED_VERSION = 0xC03A0005,
- MD_NTSTATUS_WIN_STATUS_VHD_SPARSE_HEADER_CHECKSUM_MISMATCH = 0xC03A0006,
- MD_NTSTATUS_WIN_STATUS_VHD_SPARSE_HEADER_UNSUPPORTED_VERSION = 0xC03A0007,
- MD_NTSTATUS_WIN_STATUS_VHD_SPARSE_HEADER_CORRUPT = 0xC03A0008,
- MD_NTSTATUS_WIN_STATUS_VHD_BLOCK_ALLOCATION_FAILURE = 0xC03A0009,
- MD_NTSTATUS_WIN_STATUS_VHD_BLOCK_ALLOCATION_TABLE_CORRUPT = 0xC03A000A,
- MD_NTSTATUS_WIN_STATUS_VHD_INVALID_BLOCK_SIZE = 0xC03A000B,
- MD_NTSTATUS_WIN_STATUS_VHD_BITMAP_MISMATCH = 0xC03A000C,
- MD_NTSTATUS_WIN_STATUS_VHD_PARENT_VHD_NOT_FOUND = 0xC03A000D,
- MD_NTSTATUS_WIN_STATUS_VHD_CHILD_PARENT_ID_MISMATCH = 0xC03A000E,
- MD_NTSTATUS_WIN_STATUS_VHD_CHILD_PARENT_TIMESTAMP_MISMATCH = 0xC03A000F,
- MD_NTSTATUS_WIN_STATUS_VHD_METADATA_READ_FAILURE = 0xC03A0010,
- MD_NTSTATUS_WIN_STATUS_VHD_METADATA_WRITE_FAILURE = 0xC03A0011,
- MD_NTSTATUS_WIN_STATUS_VHD_INVALID_SIZE = 0xC03A0012,
- MD_NTSTATUS_WIN_STATUS_VHD_INVALID_FILE_SIZE = 0xC03A0013,
- MD_NTSTATUS_WIN_STATUS_VIRTDISK_PROVIDER_NOT_FOUND = 0xC03A0014,
- MD_NTSTATUS_WIN_STATUS_VIRTDISK_NOT_VIRTUAL_DISK = 0xC03A0015,
- MD_NTSTATUS_WIN_STATUS_VHD_PARENT_VHD_ACCESS_DENIED = 0xC03A0016,
- MD_NTSTATUS_WIN_STATUS_VHD_CHILD_PARENT_SIZE_MISMATCH = 0xC03A0017,
- MD_NTSTATUS_WIN_STATUS_VHD_DIFFERENCING_CHAIN_CYCLE_DETECTED = 0xC03A0018,
- MD_NTSTATUS_WIN_STATUS_VHD_DIFFERENCING_CHAIN_ERROR_IN_PARENT = 0xC03A0019,
- MD_NTSTATUS_WIN_STATUS_VIRTUAL_DISK_LIMITATION = 0xC03A001A,
- MD_NTSTATUS_WIN_STATUS_VHD_INVALID_TYPE = 0xC03A001B,
- MD_NTSTATUS_WIN_STATUS_VHD_INVALID_STATE = 0xC03A001C,
- MD_NTSTATUS_WIN_STATUS_VIRTDISK_UNSUPPORTED_DISK_SECTOR_SIZE = 0xC03A001D,
- MD_NTSTATUS_WIN_STATUS_VIRTDISK_DISK_ALREADY_OWNED = 0xC03A001E,
- MD_NTSTATUS_WIN_STATUS_VIRTDISK_DISK_ONLINE_AND_WRITABLE = 0xC03A001F,
- MD_NTSTATUS_WIN_STATUS_CTLOG_TRACKING_NOT_INITIALIZED = 0xC03A0020,
- MD_NTSTATUS_WIN_STATUS_CTLOG_LOGFILE_SIZE_EXCEEDED_MAXSIZE = 0xC03A0021,
- MD_NTSTATUS_WIN_STATUS_CTLOG_VHD_CHANGED_OFFLINE = 0xC03A0022,
- MD_NTSTATUS_WIN_STATUS_CTLOG_INVALID_TRACKING_STATE = 0xC03A0023,
- MD_NTSTATUS_WIN_STATUS_CTLOG_INCONSISTENT_TRACKING_FILE = 0xC03A0024,
- MD_NTSTATUS_WIN_STATUS_VHD_METADATA_FULL = 0xC03A0028,
- MD_NTSTATUS_WIN_STATUS_RKF_KEY_NOT_FOUND = 0xC0400001,
- MD_NTSTATUS_WIN_STATUS_RKF_DUPLICATE_KEY = 0xC0400002,
- MD_NTSTATUS_WIN_STATUS_RKF_BLOB_FULL = 0xC0400003,
- MD_NTSTATUS_WIN_STATUS_RKF_STORE_FULL = 0xC0400004,
- MD_NTSTATUS_WIN_STATUS_RKF_FILE_BLOCKED = 0xC0400005,
- MD_NTSTATUS_WIN_STATUS_RKF_ACTIVE_KEY = 0xC0400006,
- MD_NTSTATUS_WIN_STATUS_RDBSS_RESTART_OPERATION = 0xC0410001,
- MD_NTSTATUS_WIN_STATUS_RDBSS_CONTINUE_OPERATION = 0xC0410002,
- MD_NTSTATUS_WIN_STATUS_RDBSS_POST_OPERATION = 0xC0410003,
- MD_NTSTATUS_WIN_STATUS_BTH_ATT_INVALID_HANDLE = 0xC0420001,
- MD_NTSTATUS_WIN_STATUS_BTH_ATT_READ_NOT_PERMITTED = 0xC0420002,
- MD_NTSTATUS_WIN_STATUS_BTH_ATT_WRITE_NOT_PERMITTED = 0xC0420003,
- MD_NTSTATUS_WIN_STATUS_BTH_ATT_INVALID_PDU = 0xC0420004,
- MD_NTSTATUS_WIN_STATUS_BTH_ATT_INSUFFICIENT_AUTHENTICATION = 0xC0420005,
- MD_NTSTATUS_WIN_STATUS_BTH_ATT_REQUEST_NOT_SUPPORTED = 0xC0420006,
- MD_NTSTATUS_WIN_STATUS_BTH_ATT_INVALID_OFFSET = 0xC0420007,
- MD_NTSTATUS_WIN_STATUS_BTH_ATT_INSUFFICIENT_AUTHORIZATION = 0xC0420008,
- MD_NTSTATUS_WIN_STATUS_BTH_ATT_PREPARE_QUEUE_FULL = 0xC0420009,
- MD_NTSTATUS_WIN_STATUS_BTH_ATT_ATTRIBUTE_NOT_FOUND = 0xC042000A,
- MD_NTSTATUS_WIN_STATUS_BTH_ATT_ATTRIBUTE_NOT_LONG = 0xC042000B,
- MD_NTSTATUS_WIN_STATUS_BTH_ATT_INSUFFICIENT_ENCRYPTION_KEY_SIZE = 0xC042000C,
- MD_NTSTATUS_WIN_STATUS_BTH_ATT_INVALID_ATTRIBUTE_VALUE_LENGTH = 0xC042000D,
- MD_NTSTATUS_WIN_STATUS_BTH_ATT_UNLIKELY = 0xC042000E,
- MD_NTSTATUS_WIN_STATUS_BTH_ATT_INSUFFICIENT_ENCRYPTION = 0xC042000F,
- MD_NTSTATUS_WIN_STATUS_BTH_ATT_UNSUPPORTED_GROUP_TYPE = 0xC0420010,
- MD_NTSTATUS_WIN_STATUS_BTH_ATT_INSUFFICIENT_RESOURCES = 0xC0420011,
- MD_NTSTATUS_WIN_STATUS_BTH_ATT_UNKNOWN_ERROR = 0xC0421000,
- MD_NTSTATUS_WIN_STATUS_SECUREBOOT_ROLLBACK_DETECTED = 0xC0430001,
- MD_NTSTATUS_WIN_STATUS_SECUREBOOT_POLICY_VIOLATION = 0xC0430002,
- MD_NTSTATUS_WIN_STATUS_SECUREBOOT_INVALID_POLICY = 0xC0430003,
- MD_NTSTATUS_WIN_STATUS_SECUREBOOT_POLICY_PUBLISHER_NOT_FOUND = 0xC0430004,
- MD_NTSTATUS_WIN_STATUS_SECUREBOOT_POLICY_NOT_SIGNED = 0xC0430005,
- MD_NTSTATUS_WIN_STATUS_SECUREBOOT_FILE_REPLACED = 0xC0430007,
- MD_NTSTATUS_WIN_STATUS_AUDIO_ENGINE_NODE_NOT_FOUND = 0xC0440001,
- MD_NTSTATUS_WIN_STATUS_HDAUDIO_EMPTY_CONNECTION_LIST = 0xC0440002,
- MD_NTSTATUS_WIN_STATUS_HDAUDIO_CONNECTION_LIST_NOT_SUPPORTED = 0xC0440003,
- MD_NTSTATUS_WIN_STATUS_HDAUDIO_NO_LOGICAL_DEVICES_CREATED = 0xC0440004,
- MD_NTSTATUS_WIN_STATUS_HDAUDIO_NULL_LINKED_LIST_ENTRY = 0xC0440005,
- MD_NTSTATUS_WIN_STATUS_VOLSNAP_BOOTFILE_NOT_VALID = 0xC0500003,
- MD_NTSTATUS_WIN_STATUS_IO_PREEMPTED = 0xC0510001,
- MD_NTSTATUS_WIN_STATUS_SVHDX_ERROR_STORED = 0xC05C0000,
- MD_NTSTATUS_WIN_STATUS_SVHDX_ERROR_NOT_AVAILABLE = 0xC05CFF00,
- MD_NTSTATUS_WIN_STATUS_SVHDX_UNIT_ATTENTION_AVAILABLE = 0xC05CFF01,
- MD_NTSTATUS_WIN_STATUS_SVHDX_UNIT_ATTENTION_CAPACITY_DATA_CHANGED = 0xC05CFF02,
- MD_NTSTATUS_WIN_STATUS_SVHDX_UNIT_ATTENTION_RESERVATIONS_PREEMPTED = 0xC05CFF03,
- MD_NTSTATUS_WIN_STATUS_SVHDX_UNIT_ATTENTION_RESERVATIONS_RELEASED = 0xC05CFF04,
- MD_NTSTATUS_WIN_STATUS_SVHDX_UNIT_ATTENTION_REGISTRATIONS_PREEMPTED = 0xC05CFF05,
- MD_NTSTATUS_WIN_STATUS_SVHDX_UNIT_ATTENTION_OPERATING_DEFINITION_CHANGED = 0xC05CFF06,
- MD_NTSTATUS_WIN_STATUS_SVHDX_RESERVATION_CONFLICT = 0xC05CFF07,
- MD_NTSTATUS_WIN_STATUS_SVHDX_WRONG_FILE_TYPE = 0xC05CFF08,
- MD_NTSTATUS_WIN_STATUS_SVHDX_VERSION_MISMATCH = 0xC05CFF09,
- MD_NTSTATUS_WIN_STATUS_VHD_SHARED = 0xC05CFF0A,
- MD_NTSTATUS_WIN_STATUS_SPACES_RESILIENCY_TYPE_INVALID = 0xC0E70003,
- MD_NTSTATUS_WIN_STATUS_SPACES_DRIVE_SECTOR_SIZE_INVALID = 0xC0E70004,
- MD_NTSTATUS_WIN_STATUS_SPACES_INTERLEAVE_LENGTH_INVALID = 0xC0E70009,
- MD_NTSTATUS_WIN_STATUS_SPACES_NUMBER_OF_COLUMNS_INVALID = 0xC0E7000A,
- MD_NTSTATUS_WIN_STATUS_SPACES_NOT_ENOUGH_DRIVES = 0xC0E7000B
-} MDNTStatusCodeWin;
-
-// These constants are defined in the MSDN documentation of
-// the EXCEPTION_RECORD structure.
-typedef enum {
- MD_ACCESS_VIOLATION_WIN_READ = 0,
- MD_ACCESS_VIOLATION_WIN_WRITE = 1,
- MD_ACCESS_VIOLATION_WIN_EXEC = 8
-} MDAccessViolationTypeWin;
-
-// These constants are defined in the MSDN documentation of
-// the EXCEPTION_RECORD structure.
-typedef enum {
- MD_IN_PAGE_ERROR_WIN_READ = 0,
- MD_IN_PAGE_ERROR_WIN_WRITE = 1,
- MD_IN_PAGE_ERROR_WIN_EXEC = 8
-} MDInPageErrorTypeWin;
-
-#endif /* GOOGLE_BREAKPAD_COMMON_MINIDUMP_EXCEPTION_WIN32_H__ */
diff --git a/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_format.h b/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_format.h
deleted file mode 100644
index 251e503df..000000000
--- a/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_format.h
+++ /dev/null
@@ -1,1045 +0,0 @@
-/* Copyright (c) 2006, Google Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
-
-/* minidump_format.h: A cross-platform reimplementation of minidump-related
- * portions of DbgHelp.h from the Windows Platform SDK.
- *
- * (This is C99 source, please don't corrupt it with C++.)
- *
- * Structures that are defined by Microsoft to contain a zero-length array
- * are instead defined here to contain an array with one element, as
- * zero-length arrays are forbidden by standard C and C++. In these cases,
- * *_minsize constants are provided to be used in place of sizeof. For a
- * cleaner interface to these sizes when using C++, see minidump_size.h.
- *
- * These structures are also sufficient to populate minidump files.
- *
- * These definitions may be extended to support handling minidump files
- * for other CPUs and other operating systems.
- *
- * Because precise data type sizes are crucial for this implementation to
- * function properly and portably in terms of interoperability with minidumps
- * produced by DbgHelp on Windows, a set of primitive types with known sizes
- * are used as the basis of each structure defined by this file. DbgHelp
- * on Windows is assumed to be the reference implementation; this file
- * seeks to provide a cross-platform compatible implementation. To avoid
- * collisions with the types and values defined and used by DbgHelp in the
- * event that this implementation is used on Windows, each type and value
- * defined here is given a new name, beginning with "MD". Names of the
- * equivalent types and values in the Windows Platform SDK are given in
- * comments.
- *
- * Author: Mark Mentovai */
-
-
-#ifndef GOOGLE_BREAKPAD_COMMON_MINIDUMP_FORMAT_H__
-#define GOOGLE_BREAKPAD_COMMON_MINIDUMP_FORMAT_H__
-
-#include <stddef.h>
-
-#include "google_breakpad/common/breakpad_types.h"
-
-
-#if defined(_MSC_VER)
-/* Disable "zero-sized array in struct/union" warnings when compiling in
- * MSVC. DbgHelp.h does this too. */
-#pragma warning(push)
-#pragma warning(disable:4200)
-#endif /* _MSC_VER */
-
-
-/*
- * guiddef.h
- */
-
-typedef struct {
- uint32_t data1;
- uint16_t data2;
- uint16_t data3;
- uint8_t data4[8];
-} MDGUID; /* GUID */
-
-
-/*
- * WinNT.h
- */
-
-/* Non-x86 CPU identifiers found in the high 24 bits of
- * (MDRawContext*).context_flags. These aren't used by Breakpad, but are
- * defined here for reference, to avoid assigning values that conflict
- * (although some values already conflict). */
-#define MD_CONTEXT_IA64 0x00080000 /* CONTEXT_IA64 */
-/* Additional values from winnt.h in the Windows CE 5.0 SDK: */
-#define MD_CONTEXT_SHX 0x000000c0 /* CONTEXT_SH4 (Super-H, includes SH3) */
-#define MD_CONTEXT_ALPHA 0x00020000 /* CONTEXT_ALPHA */
-
-/* As of Windows 7 SP1, the number of flag bits has increased to
- * include 0x40 (CONTEXT_XSTATE):
- * http://msdn.microsoft.com/en-us/library/hh134238%28v=vs.85%29.aspx */
-#define MD_CONTEXT_CPU_MASK 0xffffff00
-
-
-/* This is a base type for MDRawContextX86 and MDRawContextPPC. This
- * structure should never be allocated directly. The actual structure type
- * can be determined by examining the context_flags field. */
-typedef struct {
- uint32_t context_flags;
-} MDRawContextBase;
-
-#include "minidump_cpu_amd64.h"
-#include "minidump_cpu_arm.h"
-#include "minidump_cpu_arm64.h"
-#include "minidump_cpu_mips.h"
-#include "minidump_cpu_ppc.h"
-#include "minidump_cpu_ppc64.h"
-#include "minidump_cpu_sparc.h"
-#include "minidump_cpu_x86.h"
-
-/*
- * WinVer.h
- */
-
-
-typedef struct {
- uint32_t signature;
- uint32_t struct_version;
- uint32_t file_version_hi;
- uint32_t file_version_lo;
- uint32_t product_version_hi;
- uint32_t product_version_lo;
- uint32_t file_flags_mask; /* Identifies valid bits in fileFlags */
- uint32_t file_flags;
- uint32_t file_os;
- uint32_t file_type;
- uint32_t file_subtype;
- uint32_t file_date_hi;
- uint32_t file_date_lo;
-} MDVSFixedFileInfo; /* VS_FIXEDFILEINFO */
-
-/* For (MDVSFixedFileInfo).signature */
-#define MD_VSFIXEDFILEINFO_SIGNATURE 0xfeef04bd
- /* VS_FFI_SIGNATURE */
-
-/* For (MDVSFixedFileInfo).version */
-#define MD_VSFIXEDFILEINFO_VERSION 0x00010000
- /* VS_FFI_STRUCVERSION */
-
-/* For (MDVSFixedFileInfo).file_flags_mask and
- * (MDVSFixedFileInfo).file_flags */
-#define MD_VSFIXEDFILEINFO_FILE_FLAGS_DEBUG 0x00000001
- /* VS_FF_DEBUG */
-#define MD_VSFIXEDFILEINFO_FILE_FLAGS_PRERELEASE 0x00000002
- /* VS_FF_PRERELEASE */
-#define MD_VSFIXEDFILEINFO_FILE_FLAGS_PATCHED 0x00000004
- /* VS_FF_PATCHED */
-#define MD_VSFIXEDFILEINFO_FILE_FLAGS_PRIVATEBUILD 0x00000008
- /* VS_FF_PRIVATEBUILD */
-#define MD_VSFIXEDFILEINFO_FILE_FLAGS_INFOINFERRED 0x00000010
- /* VS_FF_INFOINFERRED */
-#define MD_VSFIXEDFILEINFO_FILE_FLAGS_SPECIALBUILD 0x00000020
- /* VS_FF_SPECIALBUILD */
-
-/* For (MDVSFixedFileInfo).file_os: high 16 bits */
-#define MD_VSFIXEDFILEINFO_FILE_OS_UNKNOWN 0 /* VOS_UNKNOWN */
-#define MD_VSFIXEDFILEINFO_FILE_OS_DOS (1 << 16) /* VOS_DOS */
-#define MD_VSFIXEDFILEINFO_FILE_OS_OS216 (2 << 16) /* VOS_OS216 */
-#define MD_VSFIXEDFILEINFO_FILE_OS_OS232 (3 << 16) /* VOS_OS232 */
-#define MD_VSFIXEDFILEINFO_FILE_OS_NT (4 << 16) /* VOS_NT */
-#define MD_VSFIXEDFILEINFO_FILE_OS_WINCE (5 << 16) /* VOS_WINCE */
-/* Low 16 bits */
-#define MD_VSFIXEDFILEINFO_FILE_OS__BASE 0 /* VOS__BASE */
-#define MD_VSFIXEDFILEINFO_FILE_OS__WINDOWS16 1 /* VOS__WINDOWS16 */
-#define MD_VSFIXEDFILEINFO_FILE_OS__PM16 2 /* VOS__PM16 */
-#define MD_VSFIXEDFILEINFO_FILE_OS__PM32 3 /* VOS__PM32 */
-#define MD_VSFIXEDFILEINFO_FILE_OS__WINDOWS32 4 /* VOS__WINDOWS32 */
-
-/* For (MDVSFixedFileInfo).file_type */
-#define MD_VSFIXEDFILEINFO_FILE_TYPE_UNKNOWN 0 /* VFT_UNKNOWN */
-#define MD_VSFIXEDFILEINFO_FILE_TYPE_APP 1 /* VFT_APP */
-#define MD_VSFIXEDFILEINFO_FILE_TYPE_DLL 2 /* VFT_DLL */
-#define MD_VSFIXEDFILEINFO_FILE_TYPE_DRV 3 /* VFT_DLL */
-#define MD_VSFIXEDFILEINFO_FILE_TYPE_FONT 4 /* VFT_FONT */
-#define MD_VSFIXEDFILEINFO_FILE_TYPE_VXD 5 /* VFT_VXD */
-#define MD_VSFIXEDFILEINFO_FILE_TYPE_STATIC_LIB 7 /* VFT_STATIC_LIB */
-
-/* For (MDVSFixedFileInfo).file_subtype */
-#define MD_VSFIXEDFILEINFO_FILE_SUBTYPE_UNKNOWN 0
- /* VFT2_UNKNOWN */
-/* with file_type = MD_VSFIXEDFILEINFO_FILETYPE_DRV */
-#define MD_VSFIXEDFILEINFO_FILE_SUBTYPE_DRV_PRINTER 1
- /* VFT2_DRV_PRINTER */
-#define MD_VSFIXEDFILEINFO_FILE_SUBTYPE_DRV_KEYBOARD 2
- /* VFT2_DRV_KEYBOARD */
-#define MD_VSFIXEDFILEINFO_FILE_SUBTYPE_DRV_LANGUAGE 3
- /* VFT2_DRV_LANGUAGE */
-#define MD_VSFIXEDFILEINFO_FILE_SUBTYPE_DRV_DISPLAY 4
- /* VFT2_DRV_DISPLAY */
-#define MD_VSFIXEDFILEINFO_FILE_SUBTYPE_DRV_MOUSE 5
- /* VFT2_DRV_MOUSE */
-#define MD_VSFIXEDFILEINFO_FILE_SUBTYPE_DRV_NETWORK 6
- /* VFT2_DRV_NETWORK */
-#define MD_VSFIXEDFILEINFO_FILE_SUBTYPE_DRV_SYSTEM 7
- /* VFT2_DRV_SYSTEM */
-#define MD_VSFIXEDFILEINFO_FILE_SUBTYPE_DRV_INSTALLABLE 8
- /* VFT2_DRV_INSTALLABLE */
-#define MD_VSFIXEDFILEINFO_FILE_SUBTYPE_DRV_SOUND 9
- /* VFT2_DRV_SOUND */
-#define MD_VSFIXEDFILEINFO_FILE_SUBTYPE_DRV_COMM 10
- /* VFT2_DRV_COMM */
-#define MD_VSFIXEDFILEINFO_FILE_SUBTYPE_DRV_INPUTMETHOD 11
- /* VFT2_DRV_INPUTMETHOD */
-#define MD_VSFIXEDFILEINFO_FILE_SUBTYPE_DRV_VERSIONED_PRINTER 12
- /* VFT2_DRV_VERSIONED_PRINTER */
-/* with file_type = MD_VSFIXEDFILEINFO_FILETYPE_FONT */
-#define MD_VSFIXEDFILEINFO_FILE_SUBTYPE_FONT_RASTER 1
- /* VFT2_FONT_RASTER */
-#define MD_VSFIXEDFILEINFO_FILE_SUBTYPE_FONT_VECTOR 2
- /* VFT2_FONT_VECTOR */
-#define MD_VSFIXEDFILEINFO_FILE_SUBTYPE_FONT_TRUETYPE 3
- /* VFT2_FONT_TRUETYPE */
-
-
-/*
- * DbgHelp.h
- */
-
-
-/* An MDRVA is an offset into the minidump file. The beginning of the
- * MDRawHeader is at offset 0. */
-typedef uint32_t MDRVA; /* RVA */
-
-typedef struct {
- uint32_t data_size;
- MDRVA rva;
-} MDLocationDescriptor; /* MINIDUMP_LOCATION_DESCRIPTOR */
-
-
-typedef struct {
- /* The base address of the memory range on the host that produced the
- * minidump. */
- uint64_t start_of_memory_range;
-
- MDLocationDescriptor memory;
-} MDMemoryDescriptor; /* MINIDUMP_MEMORY_DESCRIPTOR */
-
-
-typedef struct {
- uint32_t signature;
- uint32_t version;
- uint32_t stream_count;
- MDRVA stream_directory_rva; /* A |stream_count|-sized array of
- * MDRawDirectory structures. */
- uint32_t checksum; /* Can be 0. In fact, that's all that's
- * been found in minidump files. */
- uint32_t time_date_stamp; /* time_t */
- uint64_t flags;
-} MDRawHeader; /* MINIDUMP_HEADER */
-
-/* For (MDRawHeader).signature and (MDRawHeader).version. Note that only the
- * low 16 bits of (MDRawHeader).version are MD_HEADER_VERSION. Per the
- * documentation, the high 16 bits are implementation-specific. */
-#define MD_HEADER_SIGNATURE 0x504d444d /* 'PMDM' */
- /* MINIDUMP_SIGNATURE */
-#define MD_HEADER_VERSION 0x0000a793 /* 42899 */
- /* MINIDUMP_VERSION */
-
-/* For (MDRawHeader).flags: */
-typedef enum {
- /* MD_NORMAL is the standard type of minidump. It includes full
- * streams for the thread list, module list, exception, system info,
- * and miscellaneous info. A memory list stream is also present,
- * pointing to the same stack memory contained in the thread list,
- * as well as a 256-byte region around the instruction address that
- * was executing when the exception occurred. Stack memory is from
- * 4 bytes below a thread's stack pointer up to the top of the
- * memory region encompassing the stack. */
- MD_NORMAL = 0x00000000,
- MD_WITH_DATA_SEGS = 0x00000001,
- MD_WITH_FULL_MEMORY = 0x00000002,
- MD_WITH_HANDLE_DATA = 0x00000004,
- MD_FILTER_MEMORY = 0x00000008,
- MD_SCAN_MEMORY = 0x00000010,
- MD_WITH_UNLOADED_MODULES = 0x00000020,
- MD_WITH_INDIRECTLY_REFERENCED_MEMORY = 0x00000040,
- MD_FILTER_MODULE_PATHS = 0x00000080,
- MD_WITH_PROCESS_THREAD_DATA = 0x00000100,
- MD_WITH_PRIVATE_READ_WRITE_MEMORY = 0x00000200,
- MD_WITHOUT_OPTIONAL_DATA = 0x00000400,
- MD_WITH_FULL_MEMORY_INFO = 0x00000800,
- MD_WITH_THREAD_INFO = 0x00001000,
- MD_WITH_CODE_SEGS = 0x00002000,
- MD_WITHOUT_AUXILLIARY_SEGS = 0x00004000,
- MD_WITH_FULL_AUXILLIARY_STATE = 0x00008000,
- MD_WITH_PRIVATE_WRITE_COPY_MEMORY = 0x00010000,
- MD_IGNORE_INACCESSIBLE_MEMORY = 0x00020000,
- MD_WITH_TOKEN_INFORMATION = 0x00040000
-} MDType; /* MINIDUMP_TYPE */
-
-
-typedef struct {
- uint32_t stream_type;
- MDLocationDescriptor location;
-} MDRawDirectory; /* MINIDUMP_DIRECTORY */
-
-/* For (MDRawDirectory).stream_type */
-typedef enum {
- MD_UNUSED_STREAM = 0,
- MD_RESERVED_STREAM_0 = 1,
- MD_RESERVED_STREAM_1 = 2,
- MD_THREAD_LIST_STREAM = 3, /* MDRawThreadList */
- MD_MODULE_LIST_STREAM = 4, /* MDRawModuleList */
- MD_MEMORY_LIST_STREAM = 5, /* MDRawMemoryList */
- MD_EXCEPTION_STREAM = 6, /* MDRawExceptionStream */
- MD_SYSTEM_INFO_STREAM = 7, /* MDRawSystemInfo */
- MD_THREAD_EX_LIST_STREAM = 8,
- MD_MEMORY_64_LIST_STREAM = 9,
- MD_COMMENT_STREAM_A = 10,
- MD_COMMENT_STREAM_W = 11,
- MD_HANDLE_DATA_STREAM = 12,
- MD_FUNCTION_TABLE_STREAM = 13,
- MD_UNLOADED_MODULE_LIST_STREAM = 14,
- MD_MISC_INFO_STREAM = 15, /* MDRawMiscInfo */
- MD_MEMORY_INFO_LIST_STREAM = 16, /* MDRawMemoryInfoList */
- MD_THREAD_INFO_LIST_STREAM = 17,
- MD_HANDLE_OPERATION_LIST_STREAM = 18,
- MD_TOKEN_STREAM = 19,
- MD_JAVASCRIPT_DATA_STREAM = 20,
- MD_SYSTEM_MEMORY_INFO_STREAM = 21,
- MD_PROCESS_VM_COUNTERS_STREAM = 22,
- MD_LAST_RESERVED_STREAM = 0x0000ffff,
-
- /* Breakpad extension types. 0x4767 = "Gg" */
- MD_BREAKPAD_INFO_STREAM = 0x47670001, /* MDRawBreakpadInfo */
- MD_ASSERTION_INFO_STREAM = 0x47670002, /* MDRawAssertionInfo */
- /* These are additional minidump stream values which are specific to
- * the linux breakpad implementation. */
- MD_LINUX_CPU_INFO = 0x47670003, /* /proc/cpuinfo */
- MD_LINUX_PROC_STATUS = 0x47670004, /* /proc/$x/status */
- MD_LINUX_LSB_RELEASE = 0x47670005, /* /etc/lsb-release */
- MD_LINUX_CMD_LINE = 0x47670006, /* /proc/$x/cmdline */
- MD_LINUX_ENVIRON = 0x47670007, /* /proc/$x/environ */
- MD_LINUX_AUXV = 0x47670008, /* /proc/$x/auxv */
- MD_LINUX_MAPS = 0x47670009, /* /proc/$x/maps */
- MD_LINUX_DSO_DEBUG = 0x4767000A /* MDRawDebug{32,64} */
-} MDStreamType; /* MINIDUMP_STREAM_TYPE */
-
-
-typedef struct {
- uint32_t length; /* Length of buffer in bytes (not characters),
- * excluding 0-terminator */
- uint16_t buffer[1]; /* UTF-16-encoded, 0-terminated */
-} MDString; /* MINIDUMP_STRING */
-
-static const size_t MDString_minsize = offsetof(MDString, buffer[0]);
-
-
-typedef struct {
- uint32_t thread_id;
- uint32_t suspend_count;
- uint32_t priority_class;
- uint32_t priority;
- uint64_t teb; /* Thread environment block */
- MDMemoryDescriptor stack;
- MDLocationDescriptor thread_context; /* MDRawContext[CPU] */
-} MDRawThread; /* MINIDUMP_THREAD */
-
-
-typedef struct {
- uint32_t number_of_threads;
- MDRawThread threads[1];
-} MDRawThreadList; /* MINIDUMP_THREAD_LIST */
-
-static const size_t MDRawThreadList_minsize = offsetof(MDRawThreadList,
- threads[0]);
-
-
-typedef struct {
- uint64_t base_of_image;
- uint32_t size_of_image;
- uint32_t checksum; /* 0 if unknown */
- uint32_t time_date_stamp; /* time_t */
- MDRVA module_name_rva; /* MDString, pathname or filename */
- MDVSFixedFileInfo version_info;
-
- /* The next field stores a CodeView record and is populated when a module's
- * debug information resides in a PDB file. It identifies the PDB file. */
- MDLocationDescriptor cv_record;
-
- /* The next field is populated when a module's debug information resides
- * in a DBG file. It identifies the DBG file. This field is effectively
- * obsolete with modules built by recent toolchains. */
- MDLocationDescriptor misc_record;
-
- /* Alignment problem: reserved0 and reserved1 are defined by the platform
- * SDK as 64-bit quantities. However, that results in a structure whose
- * alignment is unpredictable on different CPUs and ABIs. If the ABI
- * specifies full alignment of 64-bit quantities in structures (as ppc
- * does), there will be padding between miscRecord and reserved0. If
- * 64-bit quantities can be aligned on 32-bit boundaries (as on x86),
- * this padding will not exist. (Note that the structure up to this point
- * contains 1 64-bit member followed by 21 32-bit members.)
- * As a workaround, reserved0 and reserved1 are instead defined here as
- * four 32-bit quantities. This should be harmless, as there are
- * currently no known uses for these fields. */
- uint32_t reserved0[2];
- uint32_t reserved1[2];
-} MDRawModule; /* MINIDUMP_MODULE */
-
-/* The inclusion of a 64-bit type in MINIDUMP_MODULE forces the struct to
- * be tail-padded out to a multiple of 64 bits under some ABIs (such as PPC).
- * This doesn't occur on systems that don't tail-pad in this manner. Define
- * this macro to be the usable size of the MDRawModule struct, and use it in
- * place of sizeof(MDRawModule). */
-#define MD_MODULE_SIZE 108
-
-
-/* (MDRawModule).cv_record can reference MDCVInfoPDB20 or MDCVInfoPDB70.
- * Ref.: http://www.debuginfo.com/articles/debuginfomatch.html
- * MDCVInfoPDB70 is the expected structure type with recent toolchains. */
-
-typedef struct {
- uint32_t signature;
- uint32_t offset; /* Offset to debug data (expect 0 in minidump) */
-} MDCVHeader;
-
-typedef struct {
- MDCVHeader cv_header;
- uint32_t signature; /* time_t debug information created */
- uint32_t age; /* revision of PDB file */
- uint8_t pdb_file_name[1]; /* Pathname or filename of PDB file */
-} MDCVInfoPDB20;
-
-static const size_t MDCVInfoPDB20_minsize = offsetof(MDCVInfoPDB20,
- pdb_file_name[0]);
-
-#define MD_CVINFOPDB20_SIGNATURE 0x3031424e /* cvHeader.signature = '01BN' */
-
-typedef struct {
- uint32_t cv_signature;
- MDGUID signature; /* GUID, identifies PDB file */
- uint32_t age; /* Identifies incremental changes to PDB file */
- uint8_t pdb_file_name[1]; /* Pathname or filename of PDB file,
- * 0-terminated 8-bit character data (UTF-8?) */
-} MDCVInfoPDB70;
-
-static const size_t MDCVInfoPDB70_minsize = offsetof(MDCVInfoPDB70,
- pdb_file_name[0]);
-
-#define MD_CVINFOPDB70_SIGNATURE 0x53445352 /* cvSignature = 'SDSR' */
-
-/*
- * Modern ELF toolchains insert a "build id" into the ELF headers that
- * usually contains a hash of some ELF headers + sections to uniquely
- * identify a binary.
- *
- * https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Developer_Guide/compiling-build-id.html
- * https://sourceware.org/binutils/docs-2.26/ld/Options.html#index-g_t_002d_002dbuild_002did-292
- */
-typedef struct {
- uint32_t cv_signature;
- uint8_t build_id[1]; /* Bytes of build id from GNU_BUILD_ID ELF note.
- * This is variable-length, but usually 20 bytes
- * as the binutils ld default is a SHA-1 hash. */
-} MDCVInfoELF;
-
-static const size_t MDCVInfoELF_minsize = offsetof(MDCVInfoELF,
- build_id[0]);
-
-#define MD_CVINFOELF_SIGNATURE 0x4270454c /* cvSignature = 'BpEL' */
-
-/* In addition to the two CodeView record formats above, used for linking
- * to external pdb files, it is possible for debugging data to be carried
- * directly in the CodeView record itself. These signature values will
- * be found in the first 4 bytes of the CodeView record. Additional values
- * not commonly experienced in the wild are given by "Microsoft Symbol and
- * Type Information", http://www.x86.org/ftp/manuals/tools/sym.pdf, section
- * 7.2. An in-depth description of the CodeView 4.1 format is given by
- * "Undocumented Windows 2000 Secrets", Windows 2000 Debugging Support/
- * Microsoft Symbol File Internals/CodeView Subsections,
- * http://www.rawol.com/features/undocumented/sbs-w2k-1-windows-2000-debugging-support.pdf
- */
-#define MD_CVINFOCV41_SIGNATURE 0x3930424e /* '90BN', CodeView 4.10. */
-#define MD_CVINFOCV50_SIGNATURE 0x3131424e /* '11BN', CodeView 5.0,
- * MS C7-format (/Z7). */
-
-#define MD_CVINFOUNKNOWN_SIGNATURE 0xffffffff /* An unlikely value. */
-
-/* (MDRawModule).miscRecord can reference MDImageDebugMisc. The Windows
- * structure is actually defined in WinNT.h. This structure is effectively
- * obsolete with modules built by recent toolchains. */
-
-typedef struct {
- uint32_t data_type; /* IMAGE_DEBUG_TYPE_*, not defined here because
- * this debug record type is mostly obsolete. */
- uint32_t length; /* Length of entire MDImageDebugMisc structure */
- uint8_t unicode; /* True if data is multibyte */
- uint8_t reserved[3];
- uint8_t data[1];
-} MDImageDebugMisc; /* IMAGE_DEBUG_MISC */
-
-static const size_t MDImageDebugMisc_minsize = offsetof(MDImageDebugMisc,
- data[0]);
-
-
-typedef struct {
- uint32_t number_of_modules;
- MDRawModule modules[1];
-} MDRawModuleList; /* MINIDUMP_MODULE_LIST */
-
-static const size_t MDRawModuleList_minsize = offsetof(MDRawModuleList,
- modules[0]);
-
-
-typedef struct {
- uint32_t number_of_memory_ranges;
- MDMemoryDescriptor memory_ranges[1];
-} MDRawMemoryList; /* MINIDUMP_MEMORY_LIST */
-
-static const size_t MDRawMemoryList_minsize = offsetof(MDRawMemoryList,
- memory_ranges[0]);
-
-
-#define MD_EXCEPTION_MAXIMUM_PARAMETERS 15
-
-typedef struct {
- uint32_t exception_code; /* Windows: MDExceptionCodeWin,
- * Mac OS X: MDExceptionMac,
- * Linux: MDExceptionCodeLinux. */
- uint32_t exception_flags; /* Windows: 1 if noncontinuable,
- Mac OS X: MDExceptionCodeMac. */
- uint64_t exception_record; /* Address (in the minidump-producing host's
- * memory) of another MDException, for
- * nested exceptions. */
- uint64_t exception_address; /* The address that caused the exception.
- * Mac OS X: exception subcode (which is
- * typically the address). */
- uint32_t number_parameters; /* Number of valid elements in
- * exception_information. */
- uint32_t __align;
- uint64_t exception_information[MD_EXCEPTION_MAXIMUM_PARAMETERS];
-} MDException; /* MINIDUMP_EXCEPTION */
-
-#include "minidump_exception_linux.h"
-#include "minidump_exception_mac.h"
-#include "minidump_exception_ps3.h"
-#include "minidump_exception_solaris.h"
-#include "minidump_exception_win32.h"
-
-typedef struct {
- uint32_t thread_id; /* Thread in which the exception
- * occurred. Corresponds to
- * (MDRawThread).thread_id. */
- uint32_t __align;
- MDException exception_record;
- MDLocationDescriptor thread_context; /* MDRawContext[CPU] */
-} MDRawExceptionStream; /* MINIDUMP_EXCEPTION_STREAM */
-
-
-typedef union {
- struct {
- uint32_t vendor_id[3]; /* cpuid 0: ebx, edx, ecx */
- uint32_t version_information; /* cpuid 1: eax */
- uint32_t feature_information; /* cpuid 1: edx */
- uint32_t amd_extended_cpu_features; /* cpuid 0x80000001, ebx */
- } x86_cpu_info;
- struct {
- uint32_t cpuid;
- uint32_t elf_hwcaps; /* linux specific, 0 otherwise */
- } arm_cpu_info;
- struct {
- uint64_t processor_features[2];
- } other_cpu_info;
-} MDCPUInformation; /* CPU_INFORMATION */
-
-/* For (MDCPUInformation).arm_cpu_info.elf_hwcaps.
- * This matches the Linux kernel definitions from <asm/hwcaps.h> */
-typedef enum {
- MD_CPU_ARM_ELF_HWCAP_SWP = (1 << 0),
- MD_CPU_ARM_ELF_HWCAP_HALF = (1 << 1),
- MD_CPU_ARM_ELF_HWCAP_THUMB = (1 << 2),
- MD_CPU_ARM_ELF_HWCAP_26BIT = (1 << 3),
- MD_CPU_ARM_ELF_HWCAP_FAST_MULT = (1 << 4),
- MD_CPU_ARM_ELF_HWCAP_FPA = (1 << 5),
- MD_CPU_ARM_ELF_HWCAP_VFP = (1 << 6),
- MD_CPU_ARM_ELF_HWCAP_EDSP = (1 << 7),
- MD_CPU_ARM_ELF_HWCAP_JAVA = (1 << 8),
- MD_CPU_ARM_ELF_HWCAP_IWMMXT = (1 << 9),
- MD_CPU_ARM_ELF_HWCAP_CRUNCH = (1 << 10),
- MD_CPU_ARM_ELF_HWCAP_THUMBEE = (1 << 11),
- MD_CPU_ARM_ELF_HWCAP_NEON = (1 << 12),
- MD_CPU_ARM_ELF_HWCAP_VFPv3 = (1 << 13),
- MD_CPU_ARM_ELF_HWCAP_VFPv3D16 = (1 << 14),
- MD_CPU_ARM_ELF_HWCAP_TLS = (1 << 15),
- MD_CPU_ARM_ELF_HWCAP_VFPv4 = (1 << 16),
- MD_CPU_ARM_ELF_HWCAP_IDIVA = (1 << 17),
- MD_CPU_ARM_ELF_HWCAP_IDIVT = (1 << 18),
-} MDCPUInformationARMElfHwCaps;
-
-typedef struct {
- /* The next 3 fields and numberOfProcessors are from the SYSTEM_INFO
- * structure as returned by GetSystemInfo */
- uint16_t processor_architecture;
- uint16_t processor_level; /* x86: 5 = 586, 6 = 686, ... */
- /* ARM: 6 = ARMv6, 7 = ARMv7 ... */
- uint16_t processor_revision; /* x86: 0xMMSS, where MM=model,
- * SS=stepping */
- /* ARM: 0 */
-
- uint8_t number_of_processors;
- uint8_t product_type; /* Windows: VER_NT_* from WinNT.h */
-
- /* The next 5 fields are from the OSVERSIONINFO structure as returned
- * by GetVersionEx */
- uint32_t major_version;
- uint32_t minor_version;
- uint32_t build_number;
- uint32_t platform_id;
- MDRVA csd_version_rva; /* MDString further identifying the
- * host OS.
- * Windows: name of the installed OS
- * service pack.
- * Mac OS X: the Apple OS build number
- * (sw_vers -buildVersion).
- * Linux: uname -srvmo */
-
- uint16_t suite_mask; /* Windows: VER_SUITE_* from WinNT.h */
- uint16_t reserved2;
-
- MDCPUInformation cpu;
-} MDRawSystemInfo; /* MINIDUMP_SYSTEM_INFO */
-
-/* For (MDRawSystemInfo).processor_architecture: */
-typedef enum {
- MD_CPU_ARCHITECTURE_X86 = 0, /* PROCESSOR_ARCHITECTURE_INTEL */
- MD_CPU_ARCHITECTURE_MIPS = 1, /* PROCESSOR_ARCHITECTURE_MIPS */
- MD_CPU_ARCHITECTURE_ALPHA = 2, /* PROCESSOR_ARCHITECTURE_ALPHA */
- MD_CPU_ARCHITECTURE_PPC = 3, /* PROCESSOR_ARCHITECTURE_PPC */
- MD_CPU_ARCHITECTURE_SHX = 4, /* PROCESSOR_ARCHITECTURE_SHX
- * (Super-H) */
- MD_CPU_ARCHITECTURE_ARM = 5, /* PROCESSOR_ARCHITECTURE_ARM */
- MD_CPU_ARCHITECTURE_IA64 = 6, /* PROCESSOR_ARCHITECTURE_IA64 */
- MD_CPU_ARCHITECTURE_ALPHA64 = 7, /* PROCESSOR_ARCHITECTURE_ALPHA64 */
- MD_CPU_ARCHITECTURE_MSIL = 8, /* PROCESSOR_ARCHITECTURE_MSIL
- * (Microsoft Intermediate Language) */
- MD_CPU_ARCHITECTURE_AMD64 = 9, /* PROCESSOR_ARCHITECTURE_AMD64 */
- MD_CPU_ARCHITECTURE_X86_WIN64 = 10,
- /* PROCESSOR_ARCHITECTURE_IA32_ON_WIN64 (WoW64) */
- MD_CPU_ARCHITECTURE_SPARC = 0x8001, /* Breakpad-defined value for SPARC */
- MD_CPU_ARCHITECTURE_PPC64 = 0x8002, /* Breakpad-defined value for PPC64 */
- MD_CPU_ARCHITECTURE_ARM64 = 0x8003, /* Breakpad-defined value for ARM64 */
- MD_CPU_ARCHITECTURE_MIPS64 = 0x8004, /* Breakpad-defined value for MIPS64 */
- MD_CPU_ARCHITECTURE_UNKNOWN = 0xffff /* PROCESSOR_ARCHITECTURE_UNKNOWN */
-} MDCPUArchitecture;
-
-/* For (MDRawSystemInfo).platform_id: */
-typedef enum {
- MD_OS_WIN32S = 0, /* VER_PLATFORM_WIN32s (Windows 3.1) */
- MD_OS_WIN32_WINDOWS = 1, /* VER_PLATFORM_WIN32_WINDOWS (Windows 95-98-Me) */
- MD_OS_WIN32_NT = 2, /* VER_PLATFORM_WIN32_NT (Windows NT, 2000+) */
- MD_OS_WIN32_CE = 3, /* VER_PLATFORM_WIN32_CE, VER_PLATFORM_WIN32_HH
- * (Windows CE, Windows Mobile, "Handheld") */
-
- /* The following values are Breakpad-defined. */
- MD_OS_UNIX = 0x8000, /* Generic Unix-ish */
- MD_OS_MAC_OS_X = 0x8101, /* Mac OS X/Darwin */
- MD_OS_IOS = 0x8102, /* iOS */
- MD_OS_LINUX = 0x8201, /* Linux */
- MD_OS_SOLARIS = 0x8202, /* Solaris */
- MD_OS_ANDROID = 0x8203, /* Android */
- MD_OS_PS3 = 0x8204, /* PS3 */
- MD_OS_NACL = 0x8205 /* Native Client (NaCl) */
-} MDOSPlatform;
-
-typedef struct {
- uint16_t year;
- uint16_t month;
- uint16_t day_of_week;
- uint16_t day;
- uint16_t hour;
- uint16_t minute;
- uint16_t second;
- uint16_t milliseconds;
-} MDSystemTime; /* SYSTEMTIME */
-
-typedef struct {
- /* Required field. The bias is the difference, in minutes, between
- * Coordinated Universal Time (UTC) and local time.
- * Formula: UTC = local time + bias */
- int32_t bias;
- /* A description for standard time. For example, "EST" could indicate Eastern
- * Standard Time. In practice this contains the full time zone names. This
- * string can be empty. */
- uint16_t standard_name[32]; /* UTF-16-encoded, 0-terminated */
- /* A MDSystemTime structure that contains a date and local time when the
- * transition from daylight saving time to standard time occurs on this
- * operating system. If the time zone does not support daylight saving time,
- * the month member in the MDSystemTime structure is zero. */
- MDSystemTime standard_date;
- /* The bias value to be used during local time translations that occur during
- * standard time. */
- int32_t standard_bias;
- /* A description for daylight saving time. For example, "PDT" could indicate
- * Pacific Daylight Time. In practice this contains the full time zone names.
- * This string can be empty. */
- uint16_t daylight_name[32]; /* UTF-16-encoded, 0-terminated */
- /* A MDSystemTime structure that contains a date and local time when the
- * transition from standard time to daylight saving time occurs on this
- * operating system. If the time zone does not support daylight saving time,
- * the month member in the MDSystemTime structure is zero.*/
- MDSystemTime daylight_date;
- /* The bias value to be used during local time translations that occur during
- * daylight saving time. */
- int32_t daylight_bias;
-} MDTimeZoneInformation; /* TIME_ZONE_INFORMATION */
-
-/* MAX_PATH from windef.h */
-#define MD_MAX_PATH 260
-
-/* For MDXStateConfigFeatureMscInfo.features */
-typedef struct {
- uint32_t offset;
- uint32_t size;
-} MDXStateFeature;
-
-/* For MDXStateConfigFeatureMscInfo.enabled_features from winnt.h */
-typedef enum {
- MD_XSTATE_LEGACY_FLOATING_POINT = 0, /* XSTATE_LEGACY_FLOATING_POINT */
- MD_XSTATE_LEGACY_SSE = 1, /* XSTATE_LEGACY_SSE */
- MD_XSTATE_GSSE = 2, /* XSTATE_GSSE */
- MD_XSTATE_AVX = MD_XSTATE_GSSE, /* XSTATE_AVX */
- MD_XSTATE_MPX_BNDREGS = 3, /* XSTATE_MPX_BNDREGS */
- MD_XSTATE_MPX_BNDCSR = 4, /* XSTATE_MPX_BNDCSR */
- MD_XSTATE_AVX512_KMASK = 5, /* XSTATE_AVX512_KMASK */
- MD_XSTATE_AVX512_ZMM_H = 6, /* XSTATE_AVX512_ZMM_H */
- MD_XSTATE_AVX512_ZMM = 7, /* XSTATE_AVX512_ZMM */
- MD_XSTATE_IPT = 8, /* XSTATE_IPT */
- MD_XSTATE_LWP = 62 /* XSTATE_LWP */
-} MDXStateFeatureFlag;
-
-/* MAXIMUM_XSTATE_FEATURES from winnt.h */
-#define MD_MAXIMUM_XSTATE_FEATURES 64
-
-/* For MDRawMiscInfo.xstate_data */
-typedef struct {
- uint32_t size_of_info;
- uint32_t context_size;
- /* An entry in the features array is valid only if the corresponding bit in
- * the enabled_features flag is set. */
- uint64_t enabled_features;
- MDXStateFeature features[MD_MAXIMUM_XSTATE_FEATURES];
-} MDXStateConfigFeatureMscInfo;
-
-
-/* The miscellaneous information stream contains a variety
- * of small pieces of information. A member is valid if
- * it's within the available size and its corresponding
- * bit is set. */
-typedef struct {
- uint32_t size_of_info; /* Length of entire MDRawMiscInfo structure. */
- uint32_t flags1;
-
- /* The next field is only valid if flags1 contains
- * MD_MISCINFO_FLAGS1_PROCESS_ID. */
- uint32_t process_id;
-
- /* The next 3 fields are only valid if flags1 contains
- * MD_MISCINFO_FLAGS1_PROCESS_TIMES. */
- uint32_t process_create_time; /* time_t process started */
- uint32_t process_user_time; /* seconds of user CPU time */
- uint32_t process_kernel_time; /* seconds of kernel CPU time */
-
- /* The following fields are not present in MINIDUMP_MISC_INFO but are
- * in MINIDUMP_MISC_INFO_2. When this struct is populated, these values
- * may not be set. Use flags1 and size_of_info to determine whether these
- * values are present. These are only valid when flags1 contains
- * MD_MISCINFO_FLAGS1_PROCESSOR_POWER_INFO. */
- uint32_t processor_max_mhz;
- uint32_t processor_current_mhz;
- uint32_t processor_mhz_limit;
- uint32_t processor_max_idle_state;
- uint32_t processor_current_idle_state;
-
- /* The following fields are not present in MINIDUMP_MISC_INFO_2 but are
- * in MINIDUMP_MISC_INFO_3. When this struct is populated, these values
- * may not be set. Use flags1 and size_of_info to determine whether these
- * values are present. */
-
- /* The following field is only valid if flags1 contains
- * MD_MISCINFO_FLAGS1_PROCESS_INTEGRITY. */
- uint32_t process_integrity_level;
-
- /* The following field is only valid if flags1 contains
- * MD_MISCINFO_FLAGS1_PROCESS_EXECUTE_FLAGS. */
- uint32_t process_execute_flags;
-
- /* The following field is only valid if flags1 contains
- * MD_MISCINFO_FLAGS1_PROTECTED_PROCESS. */
- uint32_t protected_process;
-
- /* The following 2 fields are only valid if flags1 contains
- * MD_MISCINFO_FLAGS1_TIMEZONE. */
- uint32_t time_zone_id;
- MDTimeZoneInformation time_zone;
-
- /* The following fields are not present in MINIDUMP_MISC_INFO_3 but are
- * in MINIDUMP_MISC_INFO_4. When this struct is populated, these values
- * may not be set. Use flags1 and size_of_info to determine whether these
- * values are present. */
-
- /* The following 2 fields are only valid if flags1 contains
- * MD_MISCINFO_FLAGS1_BUILDSTRING. */
- uint16_t build_string[MD_MAX_PATH]; /* UTF-16-encoded, 0-terminated */
- uint16_t dbg_bld_str[40]; /* UTF-16-encoded, 0-terminated */
-
- /* The following fields are not present in MINIDUMP_MISC_INFO_4 but are
- * in MINIDUMP_MISC_INFO_5. When this struct is populated, these values
- * may not be set. Use flags1 and size_of_info to determine whether these
- * values are present. */
-
- /* The following field has its own flags for establishing the validity of
- * the structure's contents.*/
- MDXStateConfigFeatureMscInfo xstate_data;
-
- /* The following field is only valid if flags1 contains
- * MD_MISCINFO_FLAGS1_PROCESS_COOKIE. */
- uint32_t process_cookie;
-} MDRawMiscInfo; /* MINIDUMP_MISC_INFO, MINIDUMP_MISC_INFO_2,
- * MINIDUMP_MISC_INFO_3, MINIDUMP_MISC_INFO_4,
- * MINIDUMP_MISC_INFO_5, MINIDUMP_MISC_INFO_N */
-
-static const size_t MD_MISCINFO_SIZE =
- offsetof(MDRawMiscInfo, processor_max_mhz);
-static const size_t MD_MISCINFO2_SIZE =
- offsetof(MDRawMiscInfo, process_integrity_level);
-static const size_t MD_MISCINFO3_SIZE =
- offsetof(MDRawMiscInfo, build_string[0]);
-static const size_t MD_MISCINFO4_SIZE =
- offsetof(MDRawMiscInfo, xstate_data);
-/* Version 5 of the MDRawMiscInfo structure is not a multiple of 8 in size and
- * yet it contains some 8-bytes sized fields. This causes many compilers to
- * round the structure size up to a multiple of 8 by adding padding at the end.
- * The following hack is thus required for matching the proper on-disk size. */
-static const size_t MD_MISCINFO5_SIZE =
- offsetof(MDRawMiscInfo, process_cookie) + sizeof(uint32_t);
-
-/* For (MDRawMiscInfo).flags1. These values indicate which fields in the
- * MDRawMiscInfoStructure are valid. */
-typedef enum {
- MD_MISCINFO_FLAGS1_PROCESS_ID = 0x00000001,
- /* MINIDUMP_MISC1_PROCESS_ID */
- MD_MISCINFO_FLAGS1_PROCESS_TIMES = 0x00000002,
- /* MINIDUMP_MISC1_PROCESS_TIMES */
- MD_MISCINFO_FLAGS1_PROCESSOR_POWER_INFO = 0x00000004,
- /* MINIDUMP_MISC1_PROCESSOR_POWER_INFO */
- MD_MISCINFO_FLAGS1_PROCESS_INTEGRITY = 0x00000010,
- /* MINIDUMP_MISC3_PROCESS_INTEGRITY */
- MD_MISCINFO_FLAGS1_PROCESS_EXECUTE_FLAGS = 0x00000020,
- /* MINIDUMP_MISC3_PROCESS_EXECUTE_FLAGS */
- MD_MISCINFO_FLAGS1_TIMEZONE = 0x00000040,
- /* MINIDUMP_MISC3_TIMEZONE */
- MD_MISCINFO_FLAGS1_PROTECTED_PROCESS = 0x00000080,
- /* MINIDUMP_MISC3_PROTECTED_PROCESS */
- MD_MISCINFO_FLAGS1_BUILDSTRING = 0x00000100,
- /* MINIDUMP_MISC4_BUILDSTRING */
- MD_MISCINFO_FLAGS1_PROCESS_COOKIE = 0x00000200,
- /* MINIDUMP_MISC5_PROCESS_COOKIE */
-} MDMiscInfoFlags1;
-
-/*
- * Around DbgHelp version 6.0, the style of new LIST structures changed
- * from including an array of length 1 at the end of the struct to
- * represent the variable-length data to including explicit
- * "size of header", "size of entry" and "number of entries" fields
- * in the header, presumably to allow backwards-compatibly-extending
- * the structures in the future. The actual list entries follow the
- * header data directly in this case.
- */
-
-typedef struct {
- uint32_t size_of_header; /* sizeof(MDRawMemoryInfoList) */
- uint32_t size_of_entry; /* sizeof(MDRawMemoryInfo) */
- uint64_t number_of_entries;
-} MDRawMemoryInfoList; /* MINIDUMP_MEMORY_INFO_LIST */
-
-typedef struct {
- uint64_t base_address; /* Base address of a region of pages */
- uint64_t allocation_base; /* Base address of a range of pages
- * within this region. */
- uint32_t allocation_protection; /* Memory protection when this region
- * was originally allocated:
- * MDMemoryProtection */
- uint32_t __alignment1;
- uint64_t region_size;
- uint32_t state; /* MDMemoryState */
- uint32_t protection; /* MDMemoryProtection */
- uint32_t type; /* MDMemoryType */
- uint32_t __alignment2;
-} MDRawMemoryInfo; /* MINIDUMP_MEMORY_INFO */
-
-/* For (MDRawMemoryInfo).state */
-typedef enum {
- MD_MEMORY_STATE_COMMIT = 0x1000, /* physical storage has been allocated */
- MD_MEMORY_STATE_RESERVE = 0x2000, /* reserved, but no physical storage */
- MD_MEMORY_STATE_FREE = 0x10000 /* available to be allocated */
-} MDMemoryState;
-
-/* For (MDRawMemoryInfo).allocation_protection and .protection */
-typedef enum {
- MD_MEMORY_PROTECT_NOACCESS = 0x01, /* PAGE_NOACCESS */
- MD_MEMORY_PROTECT_READONLY = 0x02, /* PAGE_READONLY */
- MD_MEMORY_PROTECT_READWRITE = 0x04, /* PAGE_READWRITE */
- MD_MEMORY_PROTECT_WRITECOPY = 0x08, /* PAGE_WRITECOPY */
- MD_MEMORY_PROTECT_EXECUTE = 0x10, /* PAGE_EXECUTE */
- MD_MEMORY_PROTECT_EXECUTE_READ = 0x20, /* PAGE_EXECUTE_READ */
- MD_MEMORY_PROTECT_EXECUTE_READWRITE = 0x40, /* PAGE_EXECUTE_READWRITE */
- MD_MEMORY_PROTECT_EXECUTE_WRITECOPY = 0x80, /* PAGE_EXECUTE_WRITECOPY */
- /* These options can be combined with the previous flags. */
- MD_MEMORY_PROTECT_GUARD = 0x100, /* PAGE_GUARD */
- MD_MEMORY_PROTECT_NOCACHE = 0x200, /* PAGE_NOCACHE */
- MD_MEMORY_PROTECT_WRITECOMBINE = 0x400, /* PAGE_WRITECOMBINE */
-} MDMemoryProtection;
-
-/* Used to mask the mutually exclusive options from the combinable flags. */
-const uint32_t MD_MEMORY_PROTECTION_ACCESS_MASK = 0xFF;
-
-/* For (MDRawMemoryInfo).type */
-typedef enum {
- MD_MEMORY_TYPE_PRIVATE = 0x20000, /* not shared by other processes */
- MD_MEMORY_TYPE_MAPPED = 0x40000, /* mapped into the view of a section */
- MD_MEMORY_TYPE_IMAGE = 0x1000000 /* mapped into the view of an image */
-} MDMemoryType;
-
-/*
- * Breakpad extension types
- */
-
-
-typedef struct {
- /* validity is a bitmask with values from MDBreakpadInfoValidity, indicating
- * which of the other fields in the structure are valid. */
- uint32_t validity;
-
- /* Thread ID of the handler thread. dump_thread_id should correspond to
- * the thread_id of an MDRawThread in the minidump's MDRawThreadList if
- * a dedicated thread in that list was used to produce the minidump. If
- * the MDRawThreadList does not contain a dedicated thread used to produce
- * the minidump, this field should be set to 0 and the validity field
- * must not contain MD_BREAKPAD_INFO_VALID_DUMP_THREAD_ID. */
- uint32_t dump_thread_id;
-
- /* Thread ID of the thread that requested the minidump be produced. As
- * with dump_thread_id, requesting_thread_id should correspond to the
- * thread_id of an MDRawThread in the minidump's MDRawThreadList. For
- * minidumps produced as a result of an exception, requesting_thread_id
- * will be the same as the MDRawExceptionStream's thread_id field. For
- * minidumps produced "manually" at the program's request,
- * requesting_thread_id will indicate which thread caused the dump to be
- * written. If the minidump was produced at the request of something
- * other than a thread in the MDRawThreadList, this field should be set
- * to 0 and the validity field must not contain
- * MD_BREAKPAD_INFO_VALID_REQUESTING_THREAD_ID. */
- uint32_t requesting_thread_id;
-} MDRawBreakpadInfo;
-
-/* For (MDRawBreakpadInfo).validity: */
-typedef enum {
- /* When set, the dump_thread_id field is valid. */
- MD_BREAKPAD_INFO_VALID_DUMP_THREAD_ID = 1 << 0,
-
- /* When set, the requesting_thread_id field is valid. */
- MD_BREAKPAD_INFO_VALID_REQUESTING_THREAD_ID = 1 << 1
-} MDBreakpadInfoValidity;
-
-typedef struct {
- /* expression, function, and file are 0-terminated UTF-16 strings. They
- * may be truncated if necessary, but should always be 0-terminated when
- * written to a file.
- * Fixed-length strings are used because MiniDumpWriteDump doesn't offer
- * a way for user streams to point to arbitrary RVAs for strings. */
- uint16_t expression[128]; /* Assertion that failed... */
- uint16_t function[128]; /* ...within this function... */
- uint16_t file[128]; /* ...in this file... */
- uint32_t line; /* ...at this line. */
- uint32_t type;
-} MDRawAssertionInfo;
-
-/* For (MDRawAssertionInfo).type: */
-typedef enum {
- MD_ASSERTION_INFO_TYPE_UNKNOWN = 0,
-
- /* Used for assertions that would be raised by the MSVC CRT but are
- * directed to an invalid parameter handler instead. */
- MD_ASSERTION_INFO_TYPE_INVALID_PARAMETER,
-
- /* Used for assertions that would be raised by the MSVC CRT but are
- * directed to a pure virtual call handler instead. */
- MD_ASSERTION_INFO_TYPE_PURE_VIRTUAL_CALL
-} MDAssertionInfoData;
-
-/* These structs are used to store the DSO debug data in Linux minidumps,
- * which is necessary for converting minidumps to usable coredumps.
- * Because of a historical accident, several fields are variably encoded
- * according to client word size, so tools potentially need to support both. */
-
-typedef struct {
- uint32_t addr;
- MDRVA name;
- uint32_t ld;
-} MDRawLinkMap32;
-
-typedef struct {
- uint32_t version;
- MDRVA map; /* array of MDRawLinkMap32 */
- uint32_t dso_count;
- uint32_t brk;
- uint32_t ldbase;
- uint32_t dynamic;
-} MDRawDebug32;
-
-typedef struct {
- uint64_t addr;
- MDRVA name;
- uint64_t ld;
-} MDRawLinkMap64;
-
-typedef struct {
- uint32_t version;
- MDRVA map; /* array of MDRawLinkMap64 */
- uint32_t dso_count;
- uint64_t brk;
- uint64_t ldbase;
- uint64_t dynamic;
-} MDRawDebug64;
-
-#if defined(_MSC_VER)
-#pragma warning(pop)
-#endif /* _MSC_VER */
-
-
-#endif /* GOOGLE_BREAKPAD_COMMON_MINIDUMP_FORMAT_H__ */
diff --git a/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_size.h b/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_size.h
deleted file mode 100644
index fae57923c..000000000
--- a/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_size.h
+++ /dev/null
@@ -1,113 +0,0 @@
-// Copyright (c) 2007, Google Inc.
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
-
-// minidump_size.h: Provides a C++ template for programmatic access to
-// the sizes of various types defined in minidump_format.h.
-//
-// Author: Mark Mentovai
-
-#ifndef GOOGLE_BREAKPAD_COMMON_MINIDUMP_SIZE_H__
-#define GOOGLE_BREAKPAD_COMMON_MINIDUMP_SIZE_H__
-
-#include <sys/types.h>
-
-#include "google_breakpad/common/minidump_format.h"
-
-namespace google_breakpad {
-
-template<typename T>
-class minidump_size {
- public:
- static size_t size() { return sizeof(T); }
-};
-
-// Explicit specializations for variable-length types. The size returned
-// for these should be the size for an object without its variable-length
-// section.
-
-template<>
-class minidump_size<MDString> {
- public:
- static size_t size() { return MDString_minsize; }
-};
-
-template<>
-class minidump_size<MDRawThreadList> {
- public:
- static size_t size() { return MDRawThreadList_minsize; }
-};
-
-template<>
-class minidump_size<MDCVInfoPDB20> {
- public:
- static size_t size() { return MDCVInfoPDB20_minsize; }
-};
-
-template<>
-class minidump_size<MDCVInfoPDB70> {
- public:
- static size_t size() { return MDCVInfoPDB70_minsize; }
-};
-
-template<>
-class minidump_size<MDCVInfoELF> {
- public:
- static size_t size() { return MDCVInfoELF_minsize; }
-};
-
-template<>
-class minidump_size<MDImageDebugMisc> {
- public:
- static size_t size() { return MDImageDebugMisc_minsize; }
-};
-
-template<>
-class minidump_size<MDRawModuleList> {
- public:
- static size_t size() { return MDRawModuleList_minsize; }
-};
-
-template<>
-class minidump_size<MDRawMemoryList> {
- public:
- static size_t size() { return MDRawMemoryList_minsize; }
-};
-
-// Explicit specialization for MDRawModule, for which sizeof may include
-// tail-padding on some architectures but not others.
-
-template<>
-class minidump_size<MDRawModule> {
- public:
- static size_t size() { return MD_MODULE_SIZE; }
-};
-
-} // namespace google_breakpad
-
-#endif // GOOGLE_BREAKPAD_COMMON_MINIDUMP_SIZE_H__
diff --git a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/basic_source_line_resolver.h b/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/basic_source_line_resolver.h
deleted file mode 100644
index 6bb6d8639..000000000
--- a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/basic_source_line_resolver.h
+++ /dev/null
@@ -1,144 +0,0 @@
-// Copyright (c) 2010 Google Inc.
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// basic_source_line_resolver.h: BasicSourceLineResolver is derived from
-// SourceLineResolverBase, and is a concrete implementation of
-// SourceLineResolverInterface, using address map files produced by a
-// compatible writer, e.g. PDBSourceLineWriter.
-//
-// see "processor/source_line_resolver_base.h"
-// and "source_line_resolver_interface.h" for more documentation.
-
-#ifndef GOOGLE_BREAKPAD_PROCESSOR_BASIC_SOURCE_LINE_RESOLVER_H__
-#define GOOGLE_BREAKPAD_PROCESSOR_BASIC_SOURCE_LINE_RESOLVER_H__
-
-#include <map>
-#include <string>
-
-#include "common/using_std_string.h"
-#include "google_breakpad/processor/source_line_resolver_base.h"
-
-namespace google_breakpad {
-
-using std::map;
-
-class BasicSourceLineResolver : public SourceLineResolverBase {
- public:
- BasicSourceLineResolver();
- virtual ~BasicSourceLineResolver() { }
-
- using SourceLineResolverBase::LoadModule;
- using SourceLineResolverBase::LoadModuleUsingMapBuffer;
- using SourceLineResolverBase::LoadModuleUsingMemoryBuffer;
- using SourceLineResolverBase::ShouldDeleteMemoryBufferAfterLoadModule;
- using SourceLineResolverBase::UnloadModule;
- using SourceLineResolverBase::HasModule;
- using SourceLineResolverBase::IsModuleCorrupt;
- using SourceLineResolverBase::FillSourceLineInfo;
- using SourceLineResolverBase::FindWindowsFrameInfo;
- using SourceLineResolverBase::FindCFIFrameInfo;
-
- private:
- // friend declarations:
- friend class BasicModuleFactory;
- friend class ModuleComparer;
- friend class ModuleSerializer;
- template<class> friend class SimpleSerializer;
-
- // Function derives from SourceLineResolverBase::Function.
- struct Function;
- // Module implements SourceLineResolverBase::Module interface.
- class Module;
-
- // Disallow unwanted copy ctor and assignment operator
- BasicSourceLineResolver(const BasicSourceLineResolver&);
- void operator=(const BasicSourceLineResolver&);
-};
-
-// Helper class, containing useful methods for parsing of Breakpad symbol files.
-class SymbolParseHelper {
- public:
- // Parses a |file_line| declaration. Returns true on success.
- // Format: FILE <id> <filename>.
- // Notice, that this method modifies the input |file_line| which is why it
- // can't be const. On success, <id>, and <filename> are stored in |*index|,
- // and |*filename|. No allocation is done, |*filename| simply points inside
- // |file_line|.
- static bool ParseFile(char *file_line, // in
- long *index, // out
- char **filename); // out
-
- // Parses a |function_line| declaration. Returns true on success.
- // Format: FUNC <address> <size> <stack_param_size> <name>.
- // Notice, that this method modifies the input |function_line| which is why it
- // can't be const. On success, <address>, <size>, <stack_param_size>, and
- // <name> are stored in |*address|, |*size|, |*stack_param_size|, and |*name|.
- // No allocation is done, |*name| simply points inside |function_line|.
- static bool ParseFunction(char *function_line, // in
- uint64_t *address, // out
- uint64_t *size, // out
- long *stack_param_size, // out
- char **name); // out
-
- // Parses a |line| declaration. Returns true on success.
- // Format: <address> <size> <line number> <source file id>
- // Notice, that this method modifies the input |function_line| which is why
- // it can't be const. On success, <address>, <size>, <line number>, and
- // <source file id> are stored in |*address|, |*size|, |*line_number|, and
- // |*source_file|.
- static bool ParseLine(char *line_line, // in
- uint64_t *address, // out
- uint64_t *size, // out
- long *line_number, // out
- long *source_file); // out
-
- // Parses a |public_line| declaration. Returns true on success.
- // Format: PUBLIC <address> <stack_param_size> <name>
- // Notice, that this method modifies the input |function_line| which is why
- // it can't be const. On success, <address>, <stack_param_size>, <name>
- // are stored in |*address|, |*stack_param_size|, and |*name|.
- // No allocation is done, |*name| simply points inside |public_line|.
- static bool ParsePublicSymbol(char *public_line, // in
- uint64_t *address, // out
- long *stack_param_size, // out
- char **name); // out
-
- private:
- // Used for success checks after strtoull and strtol.
- static bool IsValidAfterNumber(char *after_number);
-
- // Only allow static methods.
- SymbolParseHelper();
- SymbolParseHelper(const SymbolParseHelper&);
- void operator=(const SymbolParseHelper&);
-};
-
-} // namespace google_breakpad
-
-#endif // GOOGLE_BREAKPAD_PROCESSOR_BASIC_SOURCE_LINE_RESOLVER_H__
diff --git a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/call_stack.h b/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/call_stack.h
deleted file mode 100644
index c59142315..000000000
--- a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/call_stack.h
+++ /dev/null
@@ -1,87 +0,0 @@
-// Copyright (c) 2006, Google Inc.
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// call_stack.h: A call stack comprised of stack frames.
-//
-// This class manages a vector of stack frames. It is used instead of
-// exposing the vector directly to allow the CallStack to own StackFrame
-// pointers without having to publicly export the linked_ptr class. A
-// CallStack must be composed of pointers instead of objects to allow for
-// CPU-specific StackFrame subclasses.
-//
-// By convention, the stack frame at index 0 is the innermost callee frame,
-// and the frame at the highest index in a call stack is the outermost
-// caller. CallStack only allows stacks to be built by pushing frames,
-// beginning with the innermost callee frame.
-//
-// Author: Mark Mentovai
-
-#ifndef GOOGLE_BREAKPAD_PROCESSOR_CALL_STACK_H__
-#define GOOGLE_BREAKPAD_PROCESSOR_CALL_STACK_H__
-
-#include <cstdint>
-#include <vector>
-
-namespace google_breakpad {
-
-using std::vector;
-
-struct StackFrame;
-template<typename T> class linked_ptr;
-
-class CallStack {
- public:
- CallStack() { Clear(); }
- ~CallStack();
-
- // Resets the CallStack to its initial empty state
- void Clear();
-
- const vector<StackFrame*>* frames() const { return &frames_; }
-
- // Set the TID associated with this call stack.
- void set_tid(uint32_t tid) { tid_ = tid; }
-
- uint32_t tid() const { return tid_; }
-
- private:
- // Stackwalker is responsible for building the frames_ vector.
- friend class Stackwalker;
-
- // Storage for pushed frames.
- vector<StackFrame*> frames_;
-
- // The TID associated with this call stack. Default to 0 if it's not
- // available.
- uint32_t tid_;
-};
-
-} // namespace google_breakpad
-
-#endif // GOOGLE_BREAKPAD_PROCSSOR_CALL_STACK_H__
diff --git a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/code_module.h b/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/code_module.h
deleted file mode 100644
index b139907c4..000000000
--- a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/code_module.h
+++ /dev/null
@@ -1,101 +0,0 @@
-// Copyright (c) 2006, Google Inc.
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// code_module.h: Carries information about code modules that are loaded
-// into a process.
-//
-// Author: Mark Mentovai
-
-#ifndef GOOGLE_BREAKPAD_PROCESSOR_CODE_MODULE_H__
-#define GOOGLE_BREAKPAD_PROCESSOR_CODE_MODULE_H__
-
-#include <string>
-
-#include "common/using_std_string.h"
-#include "google_breakpad/common/breakpad_types.h"
-
-namespace google_breakpad {
-
-class CodeModule {
- public:
- virtual ~CodeModule() {}
-
- // The base address of this code module as it was loaded by the process.
- // (uint64_t)-1 on error.
- virtual uint64_t base_address() const = 0;
-
- // The size of the code module. 0 on error.
- virtual uint64_t size() const = 0;
-
- // The path or file name that the code module was loaded from. Empty on
- // error.
- virtual string code_file() const = 0;
-
- // An identifying string used to discriminate between multiple versions and
- // builds of the same code module. This may contain a uuid, timestamp,
- // version number, or any combination of this or other information, in an
- // implementation-defined format. Empty on error.
- virtual string code_identifier() const = 0;
-
- // The filename containing debugging information associated with the code
- // module. If debugging information is stored in a file separate from the
- // code module itself (as is the case when .pdb or .dSYM files are used),
- // this will be different from code_file. If debugging information is
- // stored in the code module itself (possibly prior to stripping), this
- // will be the same as code_file. Empty on error.
- virtual string debug_file() const = 0;
-
- // An identifying string similar to code_identifier, but identifies a
- // specific version and build of the associated debug file. This may be
- // the same as code_identifier when the debug_file and code_file are
- // identical or when the same identifier is used to identify distinct
- // debug and code files.
- virtual string debug_identifier() const = 0;
-
- // A human-readable representation of the code module's version. Empty on
- // error.
- virtual string version() const = 0;
-
- // Creates a new copy of this CodeModule object, which the caller takes
- // ownership of. The new CodeModule may be of a different concrete class
- // than the CodeModule being copied, but will behave identically to the
- // copied CodeModule as far as the CodeModule interface is concerned.
- virtual CodeModule* Copy() const = 0;
-
- // Getter and setter for shrink_down_delta. This is used when the address
- // range for a module is shrunk down due to address range conflicts with
- // other modules. The base_address and size fields are not updated and they
- // should always reflect the original values (reported in the minidump).
- virtual uint64_t shrink_down_delta() const = 0;
- virtual void SetShrinkDownDelta(uint64_t shrink_down_delta) = 0;
-};
-
-} // namespace google_breakpad
-
-#endif // GOOGLE_BREAKPAD_PROCESSOR_CODE_MODULE_H__
diff --git a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/code_modules.h b/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/code_modules.h
deleted file mode 100644
index 509137cbb..000000000
--- a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/code_modules.h
+++ /dev/null
@@ -1,111 +0,0 @@
-// Copyright (c) 2006, Google Inc.
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// code_modules.h: Contains all of the CodeModule objects that were loaded
-// into a single process.
-//
-// Author: Mark Mentovai
-
-#ifndef GOOGLE_BREAKPAD_PROCESSOR_CODE_MODULES_H__
-#define GOOGLE_BREAKPAD_PROCESSOR_CODE_MODULES_H__
-
-#include <stddef.h>
-
-#include <vector>
-
-#include "google_breakpad/common/breakpad_types.h"
-#include "processor/linked_ptr.h"
-
-namespace google_breakpad {
-
-class CodeModule;
-
-class CodeModules {
- public:
- virtual ~CodeModules() {}
-
- // The number of contained CodeModule objects.
- virtual unsigned int module_count() const = 0;
-
- // Random access to modules. Returns the module whose code is present
- // at the address indicated by |address|. If no module is present at this
- // address, returns NULL. Ownership of the returned CodeModule is retained
- // by the CodeModules object; pointers returned by this method are valid for
- // comparison with pointers returned by the other Get methods.
- virtual const CodeModule* GetModuleForAddress(uint64_t address) const = 0;
-
- // Returns the module corresponding to the main executable. If there is
- // no main executable, returns NULL. Ownership of the returned CodeModule
- // is retained by the CodeModules object; pointers returned by this method
- // are valid for comparison with pointers returned by the other Get
- // methods.
- virtual const CodeModule* GetMainModule() const = 0;
-
- // Sequential access to modules. A sequence number of 0 corresponds to the
- // module residing lowest in memory. If the sequence number is out of
- // range, returns NULL. Ownership of the returned CodeModule is retained
- // by the CodeModules object; pointers returned by this method are valid for
- // comparison with pointers returned by the other Get methods.
- virtual const CodeModule* GetModuleAtSequence(
- unsigned int sequence) const = 0;
-
- // Sequential access to modules. This is similar to GetModuleAtSequence,
- // except no ordering requirement is enforced. A CodeModules implementation
- // may return CodeModule objects from GetModuleAtIndex in any order it
- // wishes, provided that the order remain the same throughout the life of
- // the CodeModules object. Typically, GetModuleAtIndex would be used by
- // a caller to enumerate all CodeModule objects quickly when the enumeration
- // does not require any ordering. If the index argument is out of range,
- // returns NULL. Ownership of the returned CodeModule is retained by
- // the CodeModules object; pointers returned by this method are valid for
- // comparison with pointers returned by the other Get methods.
- virtual const CodeModule* GetModuleAtIndex(unsigned int index) const = 0;
-
- // Creates a new copy of this CodeModules object, which the caller takes
- // ownership of. The new object will also contain copies of the existing
- // object's child CodeModule objects. The new CodeModules object may be of
- // a different concrete class than the object being copied, but will behave
- // identically to the copied object as far as the CodeModules and CodeModule
- // interfaces are concerned, except that the order that GetModuleAtIndex
- // returns objects in may differ between a copy and the original CodeModules
- // object.
- virtual const CodeModules* Copy() const = 0;
-
- // Returns a vector of all modules which address ranges needed to be shrunk
- // down due to address range conflicts with other modules.
- virtual std::vector<linked_ptr<const CodeModule> >
- GetShrunkRangeModules() const = 0;
-
- // Returns true, if module address range shrink is enabled.
- virtual bool IsModuleShrinkEnabled() const = 0;
-};
-
-} // namespace google_breakpad
-
-#endif // GOOGLE_BREAKPAD_PROCESSOR_CODE_MODULES_H__
diff --git a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/dump_context.h b/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/dump_context.h
deleted file mode 100644
index df80bf7ef..000000000
--- a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/dump_context.h
+++ /dev/null
@@ -1,116 +0,0 @@
-// Copyright (c) 2014 Google Inc.
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// dump_context.h: A (mini/micro) dump CPU-specific context.
-
-#ifndef GOOGLE_BREAKPAD_PROCESSOR_DUMP_CONTEXT_H__
-#define GOOGLE_BREAKPAD_PROCESSOR_DUMP_CONTEXT_H__
-
-#include "google_breakpad/common/minidump_format.h"
-#include "google_breakpad/processor/dump_object.h"
-
-namespace google_breakpad {
-
-// DumpContext carries a CPU-specific MDRawContext structure, which contains CPU
-// context such as register states.
-class DumpContext : public DumpObject {
- public:
- virtual ~DumpContext();
-
- // Returns an MD_CONTEXT_* value such as MD_CONTEXT_X86 or MD_CONTEXT_PPC
- // identifying the CPU type that the context was collected from. The
- // returned value will identify the CPU only, and will have any other
- // MD_CONTEXT_* bits masked out. Returns 0 on failure.
- uint32_t GetContextCPU() const;
-
- // Return the raw value of |context_flags_|
- uint32_t GetContextFlags() const;
-
- // Returns raw CPU-specific context data for the named CPU type. If the
- // context data does not match the CPU type or does not exist, returns NULL.
- const MDRawContextAMD64* GetContextAMD64() const;
- const MDRawContextARM* GetContextARM() const;
- const MDRawContextARM64* GetContextARM64() const;
- const MDRawContextMIPS* GetContextMIPS() const;
- const MDRawContextPPC* GetContextPPC() const;
- const MDRawContextPPC64* GetContextPPC64() const;
- const MDRawContextSPARC* GetContextSPARC() const;
- const MDRawContextX86* GetContextX86() const;
-
- // A convenience method to get the instruction pointer out of the
- // MDRawContext, since it varies per-CPU architecture.
- bool GetInstructionPointer(uint64_t* ip) const;
-
- // Similar to the GetInstructionPointer method, this method gets the stack
- // pointer for all CPU architectures.
- bool GetStackPointer(uint64_t* sp) const;
-
- // Print a human-readable representation of the object to stdout.
- void Print();
-
- protected:
- DumpContext();
-
- // Sets row CPU-specific context data for the names CPU type.
- void SetContextFlags(uint32_t context_flags);
- void SetContextX86(MDRawContextX86* x86);
- void SetContextPPC(MDRawContextPPC* ppc);
- void SetContextPPC64(MDRawContextPPC64* ppc64);
- void SetContextAMD64(MDRawContextAMD64* amd64);
- void SetContextSPARC(MDRawContextSPARC* ctx_sparc);
- void SetContextARM(MDRawContextARM* arm);
- void SetContextARM64(MDRawContextARM64* arm64);
- void SetContextMIPS(MDRawContextMIPS* ctx_mips);
-
- // Free the CPU-specific context structure.
- void FreeContext();
-
- private:
- // The CPU-specific context structure.
- union {
- MDRawContextBase* base;
- MDRawContextX86* x86;
- MDRawContextPPC* ppc;
- MDRawContextPPC64* ppc64;
- MDRawContextAMD64* amd64;
- // on Solaris SPARC, sparc is defined as a numeric constant,
- // so variables can NOT be named as sparc
- MDRawContextSPARC* ctx_sparc;
- MDRawContextARM* arm;
- MDRawContextARM64* arm64;
- MDRawContextMIPS* ctx_mips;
- } context_;
-
- // Store this separately because of the weirdo AMD64 context
- uint32_t context_flags_;
-};
-
-} // namespace google_breakpad
-
-#endif // GOOGLE_BREAKPAD_PROCESSOR_DUMP_CONTEXT_H__
diff --git a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/dump_object.h b/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/dump_object.h
deleted file mode 100644
index 112f687f4..000000000
--- a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/dump_object.h
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright (c) 2014 Google Inc.
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// dump_object.h: A base class for all mini/micro dump object.
-
-#ifndef GOOGLE_BREAKPAD_PROCESSOR_DUMP_OBJECT_H__
-#define GOOGLE_BREAKPAD_PROCESSOR_DUMP_OBJECT_H__
-
-namespace google_breakpad {
-
-// DumpObject is the base of various mini/micro dump's objects.
-class DumpObject {
- public:
- DumpObject();
-
- bool valid() const { return valid_; }
-
- protected:
- // DumpObjects are not valid when created. When a subclass populates its own
- // fields, it can set valid_ to true. Accessors and mutators may wish to
- // consider or alter the valid_ state as they interact with objects.
- bool valid_;
-};
-
-} // namespace google_breakpad
-
-#endif // GOOGLE_BREAKPAD_PROCESSOR_DUMP_OBJECT_H__
diff --git a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/exploitability.h b/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/exploitability.h
deleted file mode 100644
index 014413c94..000000000
--- a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/exploitability.h
+++ /dev/null
@@ -1,82 +0,0 @@
-// Copyright (c) 2010 Google Inc.
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// exploitability_engine.h: Generic exploitability engine.
-//
-// The Exploitability class is an abstract base class providing common
-// generic methods that apply to exploitability engines for specific platforms.
-// Specific implementations will extend this class by providing run
-// methods to fill in the exploitability_ enumeration of the ProcessState
-// for a crash.
-//
-// Author: Cris Neckar
-
-#ifndef GOOGLE_BREAKPAD_PROCESSOR_EXPLOITABILITY_H_
-#define GOOGLE_BREAKPAD_PROCESSOR_EXPLOITABILITY_H_
-
-#include "google_breakpad/common/breakpad_types.h"
-#include "google_breakpad/processor/minidump.h"
-#include "google_breakpad/processor/process_state.h"
-
-namespace google_breakpad {
-
-class Exploitability {
- public:
- virtual ~Exploitability() {}
-
- static Exploitability *ExploitabilityForPlatform(Minidump *dump,
- ProcessState *process_state);
-
- // The boolean parameter signals whether the exploitability engine is
- // enabled to call out to objdump for disassembly. This is disabled by
- // default. It is used to check the identity of the instruction that
- // caused the program to crash. This should not be enabled if there are
- // portability concerns.
- static Exploitability *ExploitabilityForPlatform(Minidump *dump,
- ProcessState *process_state,
- bool enable_objdump);
-
- ExploitabilityRating CheckExploitability();
- bool AddressIsAscii(uint64_t);
-
- protected:
- Exploitability(Minidump *dump,
- ProcessState *process_state);
-
- Minidump *dump_;
- ProcessState *process_state_;
- SystemInfo *system_info_;
-
- private:
- virtual ExploitabilityRating CheckPlatformExploitability() = 0;
-};
-
-} // namespace google_breakpad
-
-#endif // GOOGLE_BREAKPAD_PROCESSOR_EXPLOITABILITY_H_
diff --git a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/fast_source_line_resolver.h b/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/fast_source_line_resolver.h
deleted file mode 100644
index fdf910776..000000000
--- a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/fast_source_line_resolver.h
+++ /dev/null
@@ -1,100 +0,0 @@
-// Copyright (c) 2010 Google Inc.
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-//
-// fast_source_line_resolver.h: FastSourceLineResolver is derived from
-// SourceLineResolverBase, and is a concrete implementation of
-// SourceLineResolverInterface.
-//
-// FastSourceLineResolver is a sibling class of BasicSourceLineResolver. The
-// difference is FastSourceLineResolver loads a serialized memory chunk of data
-// which can be used directly a Module without parsing or copying of underlying
-// data. Therefore loading a symbol in FastSourceLineResolver is much faster
-// and more memory-efficient than BasicSourceLineResolver.
-//
-// See "source_line_resolver_base.h" and
-// "google_breakpad/source_line_resolver_interface.h" for more reference.
-//
-// Author: Siyang Xie (lambxsy@google.com)
-
-#ifndef GOOGLE_BREAKPAD_PROCESSOR_FAST_SOURCE_LINE_RESOLVER_H__
-#define GOOGLE_BREAKPAD_PROCESSOR_FAST_SOURCE_LINE_RESOLVER_H__
-
-#include <map>
-#include <string>
-
-#include "google_breakpad/processor/source_line_resolver_base.h"
-
-namespace google_breakpad {
-
-using std::map;
-
-class FastSourceLineResolver : public SourceLineResolverBase {
- public:
- FastSourceLineResolver();
- virtual ~FastSourceLineResolver() { }
-
- using SourceLineResolverBase::FillSourceLineInfo;
- using SourceLineResolverBase::FindCFIFrameInfo;
- using SourceLineResolverBase::FindWindowsFrameInfo;
- using SourceLineResolverBase::HasModule;
- using SourceLineResolverBase::IsModuleCorrupt;
- using SourceLineResolverBase::LoadModule;
- using SourceLineResolverBase::LoadModuleUsingMapBuffer;
- using SourceLineResolverBase::LoadModuleUsingMemoryBuffer;
- using SourceLineResolverBase::UnloadModule;
-
- private:
- // Friend declarations.
- friend class ModuleComparer;
- friend class ModuleSerializer;
- friend class FastModuleFactory;
-
- // Nested types that will derive from corresponding nested types defined in
- // SourceLineResolverBase.
- struct Line;
- struct Function;
- struct PublicSymbol;
- class Module;
-
- // Deserialize raw memory data to construct a WindowsFrameInfo object.
- static WindowsFrameInfo CopyWFI(const char *raw_memory);
-
- // FastSourceLineResolver requires the memory buffer stays alive during the
- // lifetime of a corresponding module, therefore it needs to redefine this
- // virtual method.
- virtual bool ShouldDeleteMemoryBufferAfterLoadModule();
-
- // Disallow unwanted copy ctor and assignment operator
- FastSourceLineResolver(const FastSourceLineResolver&);
- void operator=(const FastSourceLineResolver&);
-};
-
-} // namespace google_breakpad
-
-#endif // GOOGLE_BREAKPAD_PROCESSOR_FAST_SOURCE_LINE_RESOLVER_H__
diff --git a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/memory_region.h b/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/memory_region.h
deleted file mode 100644
index 30f88df49..000000000
--- a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/memory_region.h
+++ /dev/null
@@ -1,79 +0,0 @@
-// Copyright (c) 2010 Google Inc.
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// memory_region.h: Access to memory regions.
-//
-// A MemoryRegion provides virtual access to a range of memory. It is an
-// abstraction allowing the actual source of memory to be independent of
-// methods which need to access a virtual memory space.
-//
-// Author: Mark Mentovai
-
-#ifndef GOOGLE_BREAKPAD_PROCESSOR_MEMORY_REGION_H__
-#define GOOGLE_BREAKPAD_PROCESSOR_MEMORY_REGION_H__
-
-
-#include "google_breakpad/common/breakpad_types.h"
-
-
-namespace google_breakpad {
-
-
-class MemoryRegion {
- public:
- virtual ~MemoryRegion() {}
-
- // The base address of this memory region.
- virtual uint64_t GetBase() const = 0;
-
- // The size of this memory region.
- virtual uint32_t GetSize() const = 0;
-
- // Access to data of various sizes within the memory region. address
- // is a pointer to read, and it must lie within the memory region as
- // defined by its base address and size. The location pointed to by
- // value is set to the value at address. Byte-swapping is performed
- // if necessary so that the value is appropriate for the running
- // program. Returns true on success. Fails and returns false if address
- // is out of the region's bounds (after considering the width of value),
- // or for other types of errors.
- virtual bool GetMemoryAtAddress(uint64_t address, uint8_t* value) const = 0;
- virtual bool GetMemoryAtAddress(uint64_t address, uint16_t* value) const = 0;
- virtual bool GetMemoryAtAddress(uint64_t address, uint32_t* value) const = 0;
- virtual bool GetMemoryAtAddress(uint64_t address, uint64_t* value) const = 0;
-
- // Print a human-readable representation of the object to stdout.
- virtual void Print() const = 0;
-};
-
-
-} // namespace google_breakpad
-
-
-#endif // GOOGLE_BREAKPAD_PROCESSOR_MEMORY_REGION_H__
diff --git a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/microdump.h b/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/microdump.h
deleted file mode 100644
index 0e2cb7494..000000000
--- a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/microdump.h
+++ /dev/null
@@ -1,132 +0,0 @@
-// Copyright (c) 2014 Google Inc.
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// microdump.h: A microdump reader. Microdump is a minified variant of a
-// minidump (see minidump.h for documentation) which contains the minimum
-// amount of information required to get a stack trace for the crashing thread.
-// The information contained in a microdump is:
-// - the crashing thread stack
-// - system information (os type / version)
-// - cpu context (state of the registers)
-// - list of mmaps
-
-#ifndef GOOGLE_BREAKPAD_PROCESSOR_MICRODUMP_H__
-#define GOOGLE_BREAKPAD_PROCESSOR_MICRODUMP_H__
-
-#include <string>
-#include <vector>
-
-#include "common/scoped_ptr.h"
-#include "common/using_std_string.h"
-#include "google_breakpad/processor/dump_context.h"
-#include "google_breakpad/processor/memory_region.h"
-#include "google_breakpad/processor/system_info.h"
-#include "processor/basic_code_modules.h"
-
-namespace google_breakpad {
-
-// MicrodumpModuleList contains all of the loaded code modules for a process
-// in the form of MicrodumpModules. It maintains a vector of these modules
-// and provides access to a code module corresponding to a specific address.
-class MicrodumpModules : public BasicCodeModules {
- public:
- // Takes over ownership of |module|.
- void Add(const CodeModule* module);
-
- // Enables/disables module address range shrink.
- void SetEnableModuleShrink(bool is_enabled);
-};
-
-// MicrodumpContext carries a CPU-specific context.
-// See dump_context.h for documentation.
-class MicrodumpContext : public DumpContext {
- public:
- virtual void SetContextARM(MDRawContextARM* arm);
- virtual void SetContextARM64(MDRawContextARM64* arm64);
- virtual void SetContextX86(MDRawContextX86* x86);
- virtual void SetContextMIPS(MDRawContextMIPS* mips32);
- virtual void SetContextMIPS64(MDRawContextMIPS* mips64);
-};
-
-// This class provides access to microdump memory regions.
-// See memory_region.h for documentation.
-class MicrodumpMemoryRegion : public MemoryRegion {
- public:
- MicrodumpMemoryRegion();
- virtual ~MicrodumpMemoryRegion() {}
-
- // Set this region's address and contents. If we have placed an
- // instance of this class in a test fixture class, individual tests
- // can use this to provide the region's contents.
- void Init(uint64_t base_address, const std::vector<uint8_t>& contents);
-
- virtual uint64_t GetBase() const;
- virtual uint32_t GetSize() const;
-
- virtual bool GetMemoryAtAddress(uint64_t address, uint8_t* value) const;
- virtual bool GetMemoryAtAddress(uint64_t address, uint16_t* value) const;
- virtual bool GetMemoryAtAddress(uint64_t address, uint32_t* value) const;
- virtual bool GetMemoryAtAddress(uint64_t address, uint64_t* value) const;
-
- // Print a human-readable representation of the object to stdout.
- virtual void Print() const;
-
- private:
- // Fetch a little-endian value from ADDRESS in contents_ whose size
- // is BYTES, and store it in *VALUE. Returns true on success.
- template<typename ValueType>
- bool GetMemoryLittleEndian(uint64_t address, ValueType* value) const;
-
- uint64_t base_address_;
- std::vector<uint8_t> contents_;
-};
-
-// Microdump is the user's interface to a microdump file. It provides access to
-// the microdump's context, memory regions and modules.
-class Microdump {
- public:
- explicit Microdump(const string& contents);
- virtual ~Microdump() {}
-
- DumpContext* GetContext() { return context_.get(); }
- MicrodumpMemoryRegion* GetMemory() { return stack_region_.get(); }
- MicrodumpModules* GetModules() { return modules_.get(); }
- SystemInfo* GetSystemInfo() { return system_info_.get(); }
-
- private:
- scoped_ptr<MicrodumpContext> context_;
- scoped_ptr<MicrodumpMemoryRegion> stack_region_;
- scoped_ptr<MicrodumpModules> modules_;
- scoped_ptr<SystemInfo> system_info_;
-};
-
-} // namespace google_breakpad
-
-#endif // GOOGLE_BREAKPAD_PROCESSOR_MICRODUMP_H__
-
diff --git a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/microdump_processor.h b/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/microdump_processor.h
deleted file mode 100644
index 1322a01c7..000000000
--- a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/microdump_processor.h
+++ /dev/null
@@ -1,63 +0,0 @@
-// Copyright (c) 2014, Google Inc.
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// The processor for microdump (a reduced dump containing only the state of the
-// crashing thread). See crbug.com/410294 for more info and design docs.
-
-#ifndef GOOGLE_BREAKPAD_PROCESSOR_MICRODUMP_PROCESSOR_H__
-#define GOOGLE_BREAKPAD_PROCESSOR_MICRODUMP_PROCESSOR_H__
-
-#include <string>
-
-#include "common/using_std_string.h"
-#include "google_breakpad/processor/process_result.h"
-
-namespace google_breakpad {
-
-class ProcessState;
-class StackFrameSymbolizer;
-
-class MicrodumpProcessor {
- public:
- // Initializes the MicrodumpProcessor with a stack frame symbolizer.
- // Does not take ownership of frame_symbolizer, which must NOT be NULL.
- explicit MicrodumpProcessor(StackFrameSymbolizer* frame_symbolizer);
-
- virtual ~MicrodumpProcessor();
-
- // Processes the microdump contents and fills process_state with the result.
- google_breakpad::ProcessResult Process(const string& microdump_contents,
- ProcessState* process_state);
- private:
- StackFrameSymbolizer* frame_symbolizer_;
-};
-
-} // namespace google_breakpad
-
-#endif // GOOGLE_BREAKPAD_PROCESSOR_MICRODUMP_PROCESSOR_H__
diff --git a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/minidump.h b/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/minidump.h
deleted file mode 100644
index c8c3cd481..000000000
--- a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/minidump.h
+++ /dev/null
@@ -1,1171 +0,0 @@
-// Copyright (c) 2010 Google Inc.
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// minidump.h: A minidump reader.
-//
-// The basic structure of this module tracks the structure of the minidump
-// file itself. At the top level, a minidump file is represented by a
-// Minidump object. Like most other classes in this module, Minidump
-// provides a Read method that initializes the object with information from
-// the file. Most of the classes in this file are wrappers around the
-// "raw" structures found in the minidump file itself, and defined in
-// minidump_format.h. For example, each thread is represented by a
-// MinidumpThread object, whose parameters are specified in an MDRawThread
-// structure. A properly byte-swapped MDRawThread can be obtained from a
-// MinidumpThread easily by calling its thread() method.
-//
-// Most of the module lazily reads only the portion of the minidump file
-// necessary to fulfill the user's request. Calling Minidump::Read
-// only reads the minidump's directory. The thread list is not read until
-// it is needed, and even once it's read, the memory regions for each
-// thread's stack aren't read until they're needed. This strategy avoids
-// unnecessary file input, and allocating memory for data in which the user
-// has no interest. Note that although memory allocations for a typical
-// minidump file are not particularly large, it is possible for legitimate
-// minidumps to be sizable. A full-memory minidump, for example, contains
-// a snapshot of the entire mapped memory space. Even a normal minidump,
-// with stack memory only, can be large if, for example, the dump was
-// generated in response to a crash that occurred due to an infinite-
-// recursion bug that caused the stack's limits to be exceeded. Finally,
-// some users of this library will unfortunately find themselves in the
-// position of having to process potentially-hostile minidumps that might
-// attempt to cause problems by forcing the minidump processor to over-
-// allocate memory.
-//
-// Memory management in this module is based on a strict
-// you-don't-own-anything policy. The only object owned by the user is
-// the top-level Minidump object, the creation and destruction of which
-// must be the user's own responsibility. All other objects obtained
-// through interaction with this module are ultimately owned by the
-// Minidump object, and will be freed upon the Minidump object's destruction.
-// Because memory regions can potentially involve large allocations, a
-// FreeMemory method is provided by MinidumpMemoryRegion, allowing the user
-// to release data when it is no longer needed. Use of this method is
-// optional but recommended. If freed data is later required, it will
-// be read back in from the minidump file again.
-//
-// There is one exception to this memory management policy:
-// Minidump::ReadString will return a string object to the user, and the user
-// is responsible for its deletion.
-//
-// Author: Mark Mentovai
-
-#ifndef GOOGLE_BREAKPAD_PROCESSOR_MINIDUMP_H__
-#define GOOGLE_BREAKPAD_PROCESSOR_MINIDUMP_H__
-
-#include <stdint.h>
-
-#ifndef _WIN32
-#include <unistd.h>
-#endif
-
-#include <iostream>
-#include <map>
-#include <string>
-#include <vector>
-
-#include "common/basictypes.h"
-#include "common/using_std_string.h"
-#include "google_breakpad/processor/code_module.h"
-#include "google_breakpad/processor/code_modules.h"
-#include "google_breakpad/processor/dump_context.h"
-#include "google_breakpad/processor/dump_object.h"
-#include "google_breakpad/processor/memory_region.h"
-#include "google_breakpad/processor/proc_maps_linux.h"
-
-
-namespace google_breakpad {
-
-
-using std::map;
-using std::vector;
-
-
-class Minidump;
-template<typename AddressType, typename EntryType> class RangeMap;
-
-
-// MinidumpObject is the base of all Minidump* objects except for Minidump
-// itself.
-class MinidumpObject : public DumpObject {
- public:
- virtual ~MinidumpObject() {}
-
- protected:
- explicit MinidumpObject(Minidump* minidump);
-
- // Refers to the Minidump object that is the ultimate parent of this
- // Some MinidumpObjects are owned by other MinidumpObjects, but at the
- // root of the ownership tree is always a Minidump. The Minidump object
- // is kept here for access to its seeking and reading facilities, and
- // for access to data about the minidump file itself, such as whether
- // it should be byte-swapped.
- Minidump* minidump_;
-};
-
-
-// This class exists primarily to provide a virtual destructor in a base
-// class common to all objects that might be stored in
-// Minidump::mStreamObjects. Some object types will never be stored in
-// Minidump::mStreamObjects, but are represented as streams and adhere to the
-// same interface, and may be derived from this class.
-class MinidumpStream : public MinidumpObject {
- public:
- virtual ~MinidumpStream() {}
-
- protected:
- explicit MinidumpStream(Minidump* minidump);
-
- private:
- // Populate (and validate) the MinidumpStream. minidump_ is expected
- // to be positioned at the beginning of the stream, so that the next
- // read from the minidump will be at the beginning of the stream.
- // expected_size should be set to the stream's length as contained in
- // the MDRawDirectory record or other identifying record. A class
- // that implements MinidumpStream can compare expected_size to a
- // known size as an integrity check.
- virtual bool Read(uint32_t expected_size) = 0;
-
- DISALLOW_COPY_AND_ASSIGN(MinidumpStream);
-};
-
-
-// MinidumpContext carries a CPU-specific MDRawContext structure, which
-// contains CPU context such as register states. Each thread has its
-// own context, and the exception record, if present, also has its own
-// context. Note that if the exception record is present, the context it
-// refers to is probably what the user wants to use for the exception
-// thread, instead of that thread's own context. The exception thread's
-// context (as opposed to the exception record's context) will contain
-// context for the exception handler (which performs minidump generation),
-// and not the context that caused the exception (which is probably what the
-// user wants).
-class MinidumpContext : public DumpContext {
- public:
- virtual ~MinidumpContext();
-
- protected:
- explicit MinidumpContext(Minidump* minidump);
-
- private:
- friend class MinidumpThread;
- friend class MinidumpException;
-
- bool Read(uint32_t expected_size);
-
- // If the minidump contains a SYSTEM_INFO_STREAM, makes sure that the
- // system info stream gives an appropriate CPU type matching the context
- // CPU type in context_cpu_type. Returns false if the CPU type does not
- // match. Returns true if the CPU type matches or if the minidump does
- // not contain a system info stream.
- bool CheckAgainstSystemInfo(uint32_t context_cpu_type);
-
- // Refers to the Minidump object that is the ultimate parent of this
- // Some MinidumpObjects are owned by other MinidumpObjects, but at the
- // root of the ownership tree is always a Minidump. The Minidump object
- // is kept here for access to its seeking and reading facilities, and
- // for access to data about the minidump file itself, such as whether
- // it should be byte-swapped.
- Minidump* minidump_;
-
- DISALLOW_COPY_AND_ASSIGN(MinidumpContext);
-};
-
-
-// MinidumpMemoryRegion does not wrap any MDRaw structure, and only contains
-// a reference to an MDMemoryDescriptor. This object is intended to wrap
-// portions of a minidump file that contain memory dumps. In normal
-// minidumps, each MinidumpThread owns a MinidumpMemoryRegion corresponding
-// to the thread's stack memory. MinidumpMemoryList also gives access to
-// memory regions in its list as MinidumpMemoryRegions. This class
-// adheres to MemoryRegion so that it may be used as a data provider to
-// the Stackwalker family of classes.
-class MinidumpMemoryRegion : public MinidumpObject,
- public MemoryRegion {
- public:
- virtual ~MinidumpMemoryRegion();
-
- static void set_max_bytes(uint32_t max_bytes) { max_bytes_ = max_bytes; }
- static uint32_t max_bytes() { return max_bytes_; }
-
- // Returns a pointer to the base of the memory region. Returns the
- // cached value if available, otherwise, reads the minidump file and
- // caches the memory region.
- const uint8_t* GetMemory() const;
-
- // The address of the base of the memory region.
- uint64_t GetBase() const;
-
- // The size, in bytes, of the memory region.
- uint32_t GetSize() const;
-
- // Frees the cached memory region, if cached.
- void FreeMemory();
-
- // Obtains the value of memory at the pointer specified by address.
- bool GetMemoryAtAddress(uint64_t address, uint8_t* value) const;
- bool GetMemoryAtAddress(uint64_t address, uint16_t* value) const;
- bool GetMemoryAtAddress(uint64_t address, uint32_t* value) const;
- bool GetMemoryAtAddress(uint64_t address, uint64_t* value) const;
-
- // Print a human-readable representation of the object to stdout.
- void Print() const;
-
- protected:
- explicit MinidumpMemoryRegion(Minidump* minidump);
-
- private:
- friend class MinidumpThread;
- friend class MinidumpMemoryList;
-
- // Identify the base address and size of the memory region, and the
- // location it may be found in the minidump file.
- void SetDescriptor(MDMemoryDescriptor* descriptor);
-
- // Implementation for GetMemoryAtAddress
- template<typename T> bool GetMemoryAtAddressInternal(uint64_t address,
- T* value) const;
-
- // The largest memory region that will be read from a minidump. The
- // default is 1MB.
- static uint32_t max_bytes_;
-
- // Base address and size of the memory region, and its position in the
- // minidump file.
- MDMemoryDescriptor* descriptor_;
-
- // Cached memory.
- mutable vector<uint8_t>* memory_;
-};
-
-
-// MinidumpThread contains information about a thread of execution,
-// including a snapshot of the thread's stack and CPU context. For
-// the thread that caused an exception, the context carried by
-// MinidumpException is probably desired instead of the CPU context
-// provided here.
-// Note that a MinidumpThread may be valid() even if it does not
-// contain a memory region or context.
-class MinidumpThread : public MinidumpObject {
- public:
- virtual ~MinidumpThread();
-
- const MDRawThread* thread() const { return valid_ ? &thread_ : NULL; }
- // GetMemory may return NULL even if the MinidumpThread is valid,
- // if the thread memory cannot be read.
- virtual MinidumpMemoryRegion* GetMemory();
- // GetContext may return NULL even if the MinidumpThread is valid.
- virtual MinidumpContext* GetContext();
-
- // The thread ID is used to determine if a thread is the exception thread,
- // so a special getter is provided to retrieve this data from the
- // MDRawThread structure. Returns false if the thread ID cannot be
- // determined.
- virtual bool GetThreadID(uint32_t *thread_id) const;
-
- // Print a human-readable representation of the object to stdout.
- void Print();
-
- // Returns the start address of the thread stack memory region. Returns 0 if
- // MinidumpThread is invalid. Note that this method can be called even when
- // the thread memory cannot be read and GetMemory returns NULL.
- virtual uint64_t GetStartOfStackMemoryRange() const;
-
- protected:
- explicit MinidumpThread(Minidump* minidump);
-
- private:
- // These objects are managed by MinidumpThreadList.
- friend class MinidumpThreadList;
-
- // This works like MinidumpStream::Read, but is driven by
- // MinidumpThreadList. No size checking is done, because
- // MinidumpThreadList handles that directly.
- bool Read();
-
- MDRawThread thread_;
- MinidumpMemoryRegion* memory_;
- MinidumpContext* context_;
-};
-
-
-// MinidumpThreadList contains all of the threads (as MinidumpThreads) in
-// a process.
-class MinidumpThreadList : public MinidumpStream {
- public:
- virtual ~MinidumpThreadList();
-
- static void set_max_threads(uint32_t max_threads) {
- max_threads_ = max_threads;
- }
- static uint32_t max_threads() { return max_threads_; }
-
- virtual unsigned int thread_count() const {
- return valid_ ? thread_count_ : 0;
- }
-
- // Sequential access to threads.
- virtual MinidumpThread* GetThreadAtIndex(unsigned int index) const;
-
- // Random access to threads.
- MinidumpThread* GetThreadByID(uint32_t thread_id);
-
- // Print a human-readable representation of the object to stdout.
- void Print();
-
- protected:
- explicit MinidumpThreadList(Minidump* aMinidump);
-
- private:
- friend class Minidump;
-
- typedef map<uint32_t, MinidumpThread*> IDToThreadMap;
- typedef vector<MinidumpThread> MinidumpThreads;
-
- static const uint32_t kStreamType = MD_THREAD_LIST_STREAM;
-
- bool Read(uint32_t aExpectedSize);
-
- // The largest number of threads that will be read from a minidump. The
- // default is 256.
- static uint32_t max_threads_;
-
- // Access to threads using the thread ID as the key.
- IDToThreadMap id_to_thread_map_;
-
- // The list of threads.
- MinidumpThreads* threads_;
- uint32_t thread_count_;
-
- DISALLOW_COPY_AND_ASSIGN(MinidumpThreadList);
-};
-
-
-// MinidumpModule wraps MDRawModule, which contains information about loaded
-// code modules. Access is provided to various data referenced indirectly
-// by MDRawModule, such as the module's name and a specification for where
-// to locate debugging information for the module.
-class MinidumpModule : public MinidumpObject,
- public CodeModule {
- public:
- virtual ~MinidumpModule();
-
- static void set_max_cv_bytes(uint32_t max_cv_bytes) {
- max_cv_bytes_ = max_cv_bytes;
- }
- static uint32_t max_cv_bytes() { return max_cv_bytes_; }
-
- static void set_max_misc_bytes(uint32_t max_misc_bytes) {
- max_misc_bytes_ = max_misc_bytes;
- }
- static uint32_t max_misc_bytes() { return max_misc_bytes_; }
-
- const MDRawModule* module() const { return valid_ ? &module_ : NULL; }
-
- // CodeModule implementation
- virtual uint64_t base_address() const {
- return valid_ ? module_.base_of_image : static_cast<uint64_t>(-1);
- }
- virtual uint64_t size() const { return valid_ ? module_.size_of_image : 0; }
- virtual string code_file() const;
- virtual string code_identifier() const;
- virtual string debug_file() const;
- virtual string debug_identifier() const;
- virtual string version() const;
- virtual CodeModule* Copy() const;
-
- // Getter and setter for shrink_down_delta. This is used when the address
- // range for a module is shrunk down due to address range conflicts with
- // other modules. The base_address and size fields are not updated and they
- // should always reflect the original values (reported in the minidump).
- virtual uint64_t shrink_down_delta() const;
- virtual void SetShrinkDownDelta(uint64_t shrink_down_delta);
-
- // The CodeView record, which contains information to locate the module's
- // debugging information (pdb). This is returned as uint8_t* because
- // the data can be of types MDCVInfoPDB20* or MDCVInfoPDB70*, or it may be
- // of a type unknown to Breakpad, in which case the raw data will still be
- // returned but no byte-swapping will have been performed. Check the
- // record's signature in the first four bytes to differentiate between
- // the various types. Current toolchains generate modules which carry
- // MDCVInfoPDB70 by default. Returns a pointer to the CodeView record on
- // success, and NULL on failure. On success, the optional |size| argument
- // is set to the size of the CodeView record.
- const uint8_t* GetCVRecord(uint32_t* size);
-
- // The miscellaneous debug record, which is obsolete. Current toolchains
- // do not generate this type of debugging information (dbg), and this
- // field is not expected to be present. Returns a pointer to the debugging
- // record on success, and NULL on failure. On success, the optional |size|
- // argument is set to the size of the debugging record.
- const MDImageDebugMisc* GetMiscRecord(uint32_t* size);
-
- // Print a human-readable representation of the object to stdout.
- void Print();
-
- private:
- // These objects are managed by MinidumpModuleList.
- friend class MinidumpModuleList;
-
- explicit MinidumpModule(Minidump* minidump);
-
- // This works like MinidumpStream::Read, but is driven by
- // MinidumpModuleList. No size checking is done, because
- // MinidumpModuleList handles that directly.
- bool Read();
-
- // Reads indirectly-referenced data, including the module name, CodeView
- // record, and miscellaneous debugging record. This is necessary to allow
- // MinidumpModuleList to fully construct MinidumpModule objects without
- // requiring seeks to read a contiguous set of MinidumpModule objects.
- // All auxiliary data should be available when Read is called, in order to
- // allow the CodeModule getters to be const methods.
- bool ReadAuxiliaryData();
-
- // The largest number of bytes that will be read from a minidump for a
- // CodeView record or miscellaneous debugging record, respectively. The
- // default for each is 1024.
- static uint32_t max_cv_bytes_;
- static uint32_t max_misc_bytes_;
-
- // True after a successful Read. This is different from valid_, which is
- // not set true until ReadAuxiliaryData also completes successfully.
- // module_valid_ is only used by ReadAuxiliaryData and the functions it
- // calls to determine whether the object is ready for auxiliary data to
- // be read.
- bool module_valid_;
-
- // True if debug info was read from the module. Certain modules
- // may contain debug records in formats we don't support,
- // so we can just set this to false to ignore them.
- bool has_debug_info_;
-
- MDRawModule module_;
-
- // Cached module name.
- const string* name_;
-
- // Cached CodeView record - this is MDCVInfoPDB20 or (likely)
- // MDCVInfoPDB70, or possibly something else entirely. Stored as a uint8_t
- // because the structure contains a variable-sized string and its exact
- // size cannot be known until it is processed.
- vector<uint8_t>* cv_record_;
-
- // If cv_record_ is present, cv_record_signature_ contains a copy of the
- // CodeView record's first four bytes, for ease of determinining the
- // type of structure that cv_record_ contains.
- uint32_t cv_record_signature_;
-
- // Cached MDImageDebugMisc (usually not present), stored as uint8_t
- // because the structure contains a variable-sized string and its exact
- // size cannot be known until it is processed.
- vector<uint8_t>* misc_record_;
-};
-
-
-// MinidumpModuleList contains all of the loaded code modules for a process
-// in the form of MinidumpModules. It maintains a map of these modules
-// so that it may easily provide a code module corresponding to a specific
-// address.
-class MinidumpModuleList : public MinidumpStream,
- public CodeModules {
- public:
- virtual ~MinidumpModuleList();
-
- static void set_max_modules(uint32_t max_modules) {
- max_modules_ = max_modules;
- }
- static uint32_t max_modules() { return max_modules_; }
-
- // CodeModules implementation.
- virtual unsigned int module_count() const {
- return valid_ ? module_count_ : 0;
- }
- virtual const MinidumpModule* GetModuleForAddress(uint64_t address) const;
- virtual const MinidumpModule* GetMainModule() const;
- virtual const MinidumpModule* GetModuleAtSequence(
- unsigned int sequence) const;
- virtual const MinidumpModule* GetModuleAtIndex(unsigned int index) const;
- virtual const CodeModules* Copy() const;
-
- // Returns a vector of all modules which address ranges needed to be shrunk
- // down due to address range conflicts with other modules.
- virtual vector<linked_ptr<const CodeModule> > GetShrunkRangeModules() const;
-
- // Returns true, if module address range shrink is enabled.
- virtual bool IsModuleShrinkEnabled() const;
-
- // Print a human-readable representation of the object to stdout.
- void Print();
-
- protected:
- explicit MinidumpModuleList(Minidump* minidump);
-
- private:
- friend class Minidump;
-
- typedef vector<MinidumpModule> MinidumpModules;
-
- static const uint32_t kStreamType = MD_MODULE_LIST_STREAM;
-
- bool Read(uint32_t expected_size);
-
- // The largest number of modules that will be read from a minidump. The
- // default is 1024.
- static uint32_t max_modules_;
-
- // Access to modules using addresses as the key.
- RangeMap<uint64_t, unsigned int> *range_map_;
-
- MinidumpModules *modules_;
- uint32_t module_count_;
-
- DISALLOW_COPY_AND_ASSIGN(MinidumpModuleList);
-};
-
-
-// MinidumpMemoryList corresponds to a minidump's MEMORY_LIST_STREAM stream,
-// which references the snapshots of all of the memory regions contained
-// within the minidump. For a normal minidump, this includes stack memory
-// (also referenced by each MinidumpThread, in fact, the MDMemoryDescriptors
-// here and in MDRawThread both point to exactly the same data in a
-// minidump file, conserving space), as well as a 256-byte snapshot of memory
-// surrounding the instruction pointer in the case of an exception. Other
-// types of minidumps may contain significantly more memory regions. Full-
-// memory minidumps contain all of a process' mapped memory.
-class MinidumpMemoryList : public MinidumpStream {
- public:
- virtual ~MinidumpMemoryList();
-
- static void set_max_regions(uint32_t max_regions) {
- max_regions_ = max_regions;
- }
- static uint32_t max_regions() { return max_regions_; }
-
- unsigned int region_count() const { return valid_ ? region_count_ : 0; }
-
- // Sequential access to memory regions.
- MinidumpMemoryRegion* GetMemoryRegionAtIndex(unsigned int index);
-
- // Random access to memory regions. Returns the region encompassing
- // the address identified by address.
- virtual MinidumpMemoryRegion* GetMemoryRegionForAddress(uint64_t address);
-
- // Print a human-readable representation of the object to stdout.
- void Print();
-
- private:
- friend class Minidump;
- friend class MockMinidumpMemoryList;
-
- typedef vector<MDMemoryDescriptor> MemoryDescriptors;
- typedef vector<MinidumpMemoryRegion> MemoryRegions;
-
- static const uint32_t kStreamType = MD_MEMORY_LIST_STREAM;
-
- explicit MinidumpMemoryList(Minidump* minidump);
-
- bool Read(uint32_t expected_size);
-
- // The largest number of memory regions that will be read from a minidump.
- // The default is 256.
- static uint32_t max_regions_;
-
- // Access to memory regions using addresses as the key.
- RangeMap<uint64_t, unsigned int> *range_map_;
-
- // The list of descriptors. This is maintained separately from the list
- // of regions, because MemoryRegion doesn't own its MemoryDescriptor, it
- // maintains a pointer to it. descriptors_ provides the storage for this
- // purpose.
- MemoryDescriptors *descriptors_;
-
- // The list of regions.
- MemoryRegions *regions_;
- uint32_t region_count_;
-
- DISALLOW_COPY_AND_ASSIGN(MinidumpMemoryList);
-};
-
-
-// MinidumpException wraps MDRawExceptionStream, which contains information
-// about the exception that caused the minidump to be generated, if the
-// minidump was generated in an exception handler called as a result of an
-// exception. It also provides access to a MinidumpContext object, which
-// contains the CPU context for the exception thread at the time the exception
-// occurred.
-class MinidumpException : public MinidumpStream {
- public:
- virtual ~MinidumpException();
-
- const MDRawExceptionStream* exception() const {
- return valid_ ? &exception_ : NULL;
- }
-
- // The thread ID is used to determine if a thread is the exception thread,
- // so a special getter is provided to retrieve this data from the
- // MDRawExceptionStream structure. Returns false if the thread ID cannot
- // be determined.
- bool GetThreadID(uint32_t *thread_id) const;
-
- MinidumpContext* GetContext();
-
- // Print a human-readable representation of the object to stdout.
- void Print();
-
- private:
- friend class Minidump;
-
- static const uint32_t kStreamType = MD_EXCEPTION_STREAM;
-
- explicit MinidumpException(Minidump* minidump);
-
- bool Read(uint32_t expected_size);
-
- MDRawExceptionStream exception_;
- MinidumpContext* context_;
-
- DISALLOW_COPY_AND_ASSIGN(MinidumpException);
-};
-
-// MinidumpAssertion wraps MDRawAssertionInfo, which contains information
-// about an assertion that caused the minidump to be generated.
-class MinidumpAssertion : public MinidumpStream {
- public:
- virtual ~MinidumpAssertion();
-
- const MDRawAssertionInfo* assertion() const {
- return valid_ ? &assertion_ : NULL;
- }
-
- string expression() const {
- return valid_ ? expression_ : "";
- }
-
- string function() const {
- return valid_ ? function_ : "";
- }
-
- string file() const {
- return valid_ ? file_ : "";
- }
-
- // Print a human-readable representation of the object to stdout.
- void Print();
-
- private:
- friend class Minidump;
-
- static const uint32_t kStreamType = MD_ASSERTION_INFO_STREAM;
-
- explicit MinidumpAssertion(Minidump* minidump);
-
- bool Read(uint32_t expected_size);
-
- MDRawAssertionInfo assertion_;
- string expression_;
- string function_;
- string file_;
-
- DISALLOW_COPY_AND_ASSIGN(MinidumpAssertion);
-};
-
-
-// MinidumpSystemInfo wraps MDRawSystemInfo and provides information about
-// the system on which the minidump was generated. See also MinidumpMiscInfo.
-class MinidumpSystemInfo : public MinidumpStream {
- public:
- virtual ~MinidumpSystemInfo();
-
- const MDRawSystemInfo* system_info() const {
- return valid_ ? &system_info_ : NULL;
- }
-
- // GetOS and GetCPU return textual representations of the operating system
- // and CPU that produced the minidump. Unlike most other Minidump* methods,
- // they return string objects, not weak pointers. Defined values for
- // GetOS() are "mac", "windows", and "linux". Defined values for GetCPU
- // are "x86" and "ppc". These methods return an empty string when their
- // values are unknown.
- string GetOS();
- string GetCPU();
-
- // I don't know what CSD stands for, but this field is documented as
- // returning a textual representation of the OS service pack. On other
- // platforms, this provides additional information about an OS version
- // level beyond major.minor.micro. Returns NULL if unknown.
- const string* GetCSDVersion();
-
- // If a CPU vendor string can be determined, returns a pointer to it,
- // otherwise, returns NULL. CPU vendor strings can be determined from
- // x86 CPUs with CPUID 0.
- const string* GetCPUVendor();
-
- // Print a human-readable representation of the object to stdout.
- void Print();
-
- protected:
- explicit MinidumpSystemInfo(Minidump* minidump);
- MDRawSystemInfo system_info_;
-
- // Textual representation of the OS service pack, for minidumps produced
- // by MiniDumpWriteDump on Windows.
- const string* csd_version_;
-
- private:
- friend class Minidump;
-
- static const uint32_t kStreamType = MD_SYSTEM_INFO_STREAM;
-
- bool Read(uint32_t expected_size);
-
- // A string identifying the CPU vendor, if known.
- const string* cpu_vendor_;
-
- DISALLOW_COPY_AND_ASSIGN(MinidumpSystemInfo);
-};
-
-
-// MinidumpMiscInfo wraps MDRawMiscInfo and provides information about
-// the process that generated the minidump, and optionally additional system
-// information. See also MinidumpSystemInfo.
-class MinidumpMiscInfo : public MinidumpStream {
- public:
- const MDRawMiscInfo* misc_info() const {
- return valid_ ? &misc_info_ : NULL;
- }
-
- // Print a human-readable representation of the object to stdout.
- void Print();
-
- private:
- friend class Minidump;
- friend class TestMinidumpMiscInfo;
-
- static const uint32_t kStreamType = MD_MISC_INFO_STREAM;
-
- explicit MinidumpMiscInfo(Minidump* minidump_);
-
- bool Read(uint32_t expected_size_);
-
- MDRawMiscInfo misc_info_;
-
- // Populated by Read. Contains the converted strings from the corresponding
- // UTF-16 fields in misc_info_
- string standard_name_;
- string daylight_name_;
- string build_string_;
- string dbg_bld_str_;
-
- DISALLOW_COPY_AND_ASSIGN(MinidumpMiscInfo);
-};
-
-
-// MinidumpBreakpadInfo wraps MDRawBreakpadInfo, which is an optional stream in
-// a minidump that provides additional information about the process state
-// at the time the minidump was generated.
-class MinidumpBreakpadInfo : public MinidumpStream {
- public:
- const MDRawBreakpadInfo* breakpad_info() const {
- return valid_ ? &breakpad_info_ : NULL;
- }
-
- // These thread IDs are used to determine if threads deserve special
- // treatment, so special getters are provided to retrieve this data from
- // the MDRawBreakpadInfo structure. The getters return false if the thread
- // IDs cannot be determined.
- bool GetDumpThreadID(uint32_t *thread_id) const;
- bool GetRequestingThreadID(uint32_t *thread_id) const;
-
- // Print a human-readable representation of the object to stdout.
- void Print();
-
- private:
- friend class Minidump;
-
- static const uint32_t kStreamType = MD_BREAKPAD_INFO_STREAM;
-
- explicit MinidumpBreakpadInfo(Minidump* minidump_);
-
- bool Read(uint32_t expected_size_);
-
- MDRawBreakpadInfo breakpad_info_;
-
- DISALLOW_COPY_AND_ASSIGN(MinidumpBreakpadInfo);
-};
-
-// MinidumpMemoryInfo wraps MDRawMemoryInfo, which provides information
-// about mapped memory regions in a process, including their ranges
-// and protection.
-class MinidumpMemoryInfo : public MinidumpObject {
- public:
- const MDRawMemoryInfo* info() const { return valid_ ? &memory_info_ : NULL; }
-
- // The address of the base of the memory region.
- uint64_t GetBase() const { return valid_ ? memory_info_.base_address : 0; }
-
- // The size, in bytes, of the memory region.
- uint64_t GetSize() const { return valid_ ? memory_info_.region_size : 0; }
-
- // Return true if the memory protection allows execution.
- bool IsExecutable() const;
-
- // Return true if the memory protection allows writing.
- bool IsWritable() const;
-
- // Print a human-readable representation of the object to stdout.
- void Print();
-
- private:
- // These objects are managed by MinidumpMemoryInfoList.
- friend class MinidumpMemoryInfoList;
-
- explicit MinidumpMemoryInfo(Minidump* minidump_);
-
- // This works like MinidumpStream::Read, but is driven by
- // MinidumpMemoryInfoList. No size checking is done, because
- // MinidumpMemoryInfoList handles that directly.
- bool Read();
-
- MDRawMemoryInfo memory_info_;
-};
-
-// MinidumpMemoryInfoList contains a list of information about
-// mapped memory regions for a process in the form of MDRawMemoryInfo.
-// It maintains a map of these structures so that it may easily provide
-// info corresponding to a specific address.
-class MinidumpMemoryInfoList : public MinidumpStream {
- public:
- virtual ~MinidumpMemoryInfoList();
-
- unsigned int info_count() const { return valid_ ? info_count_ : 0; }
-
- const MinidumpMemoryInfo* GetMemoryInfoForAddress(uint64_t address) const;
- const MinidumpMemoryInfo* GetMemoryInfoAtIndex(unsigned int index) const;
-
- // Print a human-readable representation of the object to stdout.
- void Print();
-
- private:
- friend class Minidump;
-
- typedef vector<MinidumpMemoryInfo> MinidumpMemoryInfos;
-
- static const uint32_t kStreamType = MD_MEMORY_INFO_LIST_STREAM;
-
- explicit MinidumpMemoryInfoList(Minidump* minidump_);
-
- bool Read(uint32_t expected_size);
-
- // Access to memory info using addresses as the key.
- RangeMap<uint64_t, unsigned int> *range_map_;
-
- MinidumpMemoryInfos* infos_;
- uint32_t info_count_;
-
- DISALLOW_COPY_AND_ASSIGN(MinidumpMemoryInfoList);
-};
-
-// MinidumpLinuxMaps wraps information about a single mapped memory region
-// from /proc/self/maps.
-class MinidumpLinuxMaps : public MinidumpObject {
- public:
- // The memory address of the base of the mapped region.
- uint64_t GetBase() const { return valid_ ? region_.start : 0; }
- // The size of the mapped region.
- uint64_t GetSize() const { return valid_ ? region_.end - region_.start : 0; }
-
- // The permissions of the mapped region.
- bool IsReadable() const {
- return valid_ ? region_.permissions & MappedMemoryRegion::READ : false;
- }
- bool IsWriteable() const {
- return valid_ ? region_.permissions & MappedMemoryRegion::WRITE : false;
- }
- bool IsExecutable() const {
- return valid_ ? region_.permissions & MappedMemoryRegion::EXECUTE : false;
- }
- bool IsPrivate() const {
- return valid_ ? region_.permissions & MappedMemoryRegion::PRIVATE : false;
- }
-
- // The offset of the mapped region.
- uint64_t GetOffset() const { return valid_ ? region_.offset : 0; }
-
- // The major device number.
- uint8_t GetMajorDevice() const { return valid_ ? region_.major_device : 0; }
- // The minor device number.
- uint8_t GetMinorDevice() const { return valid_ ? region_.minor_device : 0; }
-
- // The inode of the mapped region.
- uint64_t GetInode() const { return valid_ ? region_.inode : 0; }
-
- // The pathname of the mapped region.
- const string GetPathname() const { return valid_ ? region_.path : ""; }
-
- // Print the contents of this mapping.
- void Print() const;
-
- private:
- // These objects are managed by MinidumpLinuxMapsList.
- friend class MinidumpLinuxMapsList;
-
- // This caller owns the pointer.
- explicit MinidumpLinuxMaps(Minidump *minidump);
-
- // The memory region struct that this class wraps.
- MappedMemoryRegion region_;
-
- DISALLOW_COPY_AND_ASSIGN(MinidumpLinuxMaps);
-};
-
-// MinidumpLinuxMapsList corresponds to the Linux-exclusive MD_LINUX_MAPS
-// stream, which contains the contents of /prod/self/maps, which contains
-// the mapped memory regions and their access permissions.
-class MinidumpLinuxMapsList : public MinidumpStream {
- public:
- virtual ~MinidumpLinuxMapsList();
-
- // Get number of mappings.
- unsigned int get_maps_count() const { return valid_ ? maps_count_ : 0; }
-
- // Get mapping at the given memory address. The caller owns the pointer.
- const MinidumpLinuxMaps *GetLinuxMapsForAddress(uint64_t address) const;
- // Get mapping at the given index. The caller owns the pointer.
- const MinidumpLinuxMaps *GetLinuxMapsAtIndex(unsigned int index) const;
-
- // Print the contents of /proc/self/maps to stdout.
- void Print() const;
-
- private:
- friend class Minidump;
-
- typedef vector<MinidumpLinuxMaps *> MinidumpLinuxMappings;
-
- static const uint32_t kStreamType = MD_LINUX_MAPS;
-
- // The caller owns the pointer.
- explicit MinidumpLinuxMapsList(Minidump *minidump);
-
- // Read and load the contents of the process mapping data.
- // The stream should have data in the form of /proc/self/maps.
- // This method returns whether the stream was read successfully.
- bool Read(uint32_t expected_size);
-
- // The list of individual mappings.
- MinidumpLinuxMappings *maps_;
- // The number of mappings.
- uint32_t maps_count_;
-
- DISALLOW_COPY_AND_ASSIGN(MinidumpLinuxMapsList);
-};
-
-// Minidump is the user's interface to a minidump file. It wraps MDRawHeader
-// and provides access to the minidump's top-level stream directory.
-class Minidump {
- public:
- // path is the pathname of a file containing the minidump.
- explicit Minidump(const string& path);
- // input is an istream wrapping minidump data. Minidump holds a
- // weak pointer to input, and the caller must ensure that the stream
- // is valid as long as the Minidump object is.
- explicit Minidump(std::istream& input);
-
- virtual ~Minidump();
-
- // path may be empty if the minidump was not opened from a file
- virtual string path() const {
- return path_;
- }
- static void set_max_streams(uint32_t max_streams) {
- max_streams_ = max_streams;
- }
- static uint32_t max_streams() { return max_streams_; }
-
- static void set_max_string_length(uint32_t max_string_length) {
- max_string_length_ = max_string_length;
- }
- static uint32_t max_string_length() { return max_string_length_; }
-
- virtual const MDRawHeader* header() const { return valid_ ? &header_ : NULL; }
-
- // Reads the CPU information from the system info stream and generates the
- // appropriate CPU flags. The returned context_cpu_flags are the same as
- // if the CPU type bits were set in the context_flags of a context record.
- // On success, context_cpu_flags will have the flags that identify the CPU.
- // If a system info stream is missing, context_cpu_flags will be 0.
- // Returns true if the current position in the stream was not changed.
- // Returns false when the current location in the stream was changed and the
- // attempt to restore the original position failed.
- bool GetContextCPUFlagsFromSystemInfo(uint32_t* context_cpu_flags);
-
- // Reads the minidump file's header and top-level stream directory.
- // The minidump is expected to be positioned at the beginning of the
- // header. Read() sets up the stream list and map, and validates the
- // Minidump object.
- virtual bool Read();
-
- // The next set of methods are stubs that call GetStream. They exist to
- // force code generation of the templatized API within the module, and
- // to avoid exposing an ugly API (GetStream needs to accept a garbage
- // parameter).
- virtual MinidumpThreadList* GetThreadList();
- virtual MinidumpModuleList* GetModuleList();
- virtual MinidumpMemoryList* GetMemoryList();
- virtual MinidumpException* GetException();
- virtual MinidumpAssertion* GetAssertion();
- virtual MinidumpSystemInfo* GetSystemInfo();
- virtual MinidumpMiscInfo* GetMiscInfo();
- virtual MinidumpBreakpadInfo* GetBreakpadInfo();
- virtual MinidumpMemoryInfoList* GetMemoryInfoList();
-
- // The next method also calls GetStream, but is exclusive for Linux dumps.
- virtual MinidumpLinuxMapsList *GetLinuxMapsList();
-
- // The next set of methods are provided for users who wish to access
- // data in minidump files directly, while leveraging the rest of
- // this class and related classes to handle the basic minidump
- // structure and known stream types.
-
- unsigned int GetDirectoryEntryCount() const {
- return valid_ ? header_.stream_count : 0;
- }
- const MDRawDirectory* GetDirectoryEntryAtIndex(unsigned int index) const;
-
- // The next 2 methods are lower-level I/O routines. They use fd_.
-
- // Reads count bytes from the minidump at the current position into
- // the storage area pointed to by bytes. bytes must be of sufficient
- // size. After the read, the file position is advanced by count.
- bool ReadBytes(void* bytes, size_t count);
-
- // Sets the position of the minidump file to offset.
- bool SeekSet(off_t offset);
-
- // Returns the current position of the minidump file.
- off_t Tell();
-
- // The next 2 methods are medium-level I/O routines.
-
- // ReadString returns a string which is owned by the caller! offset
- // specifies the offset that a length-encoded string is stored at in the
- // minidump file.
- string* ReadString(off_t offset);
-
- // SeekToStreamType positions the file at the beginning of a stream
- // identified by stream_type, and informs the caller of the stream's
- // length by setting *stream_length. Because stream_map maps each stream
- // type to only one stream in the file, this might mislead the user into
- // thinking that the stream that this seeks to is the only stream with
- // type stream_type. That can't happen for streams that these classes
- // deal with directly, because they're only supposed to be present in the
- // file singly, and that's verified when stream_map_ is built. Users who
- // are looking for other stream types should be aware of this
- // possibility, and consider using GetDirectoryEntryAtIndex (possibly
- // with GetDirectoryEntryCount) if expecting multiple streams of the same
- // type in a single minidump file.
- bool SeekToStreamType(uint32_t stream_type, uint32_t* stream_length);
-
- bool swap() const { return valid_ ? swap_ : false; }
-
- // Print a human-readable representation of the object to stdout.
- void Print();
-
- // Is the OS Android.
- bool IsAndroid();
-
- private:
- // MinidumpStreamInfo is used in the MinidumpStreamMap. It lets
- // the Minidump object locate interesting streams quickly, and
- // provides a convenient place to stash MinidumpStream objects.
- struct MinidumpStreamInfo {
- MinidumpStreamInfo() : stream_index(0), stream(NULL) {}
- ~MinidumpStreamInfo() { delete stream; }
-
- // Index into the MinidumpDirectoryEntries vector
- unsigned int stream_index;
-
- // Pointer to the stream if cached, or NULL if not yet populated
- MinidumpStream* stream;
- };
-
- typedef vector<MDRawDirectory> MinidumpDirectoryEntries;
- typedef map<uint32_t, MinidumpStreamInfo> MinidumpStreamMap;
-
- template<typename T> T* GetStream(T** stream);
-
- // Opens the minidump file, or if already open, seeks to the beginning.
- bool Open();
-
- // The largest number of top-level streams that will be read from a minidump.
- // Note that streams are only read (and only consume memory) as needed,
- // when directed by the caller. The default is 128.
- static uint32_t max_streams_;
-
- // The maximum length of a UTF-16 string that will be read from a minidump
- // in 16-bit words. The default is 1024. UTF-16 strings are converted
- // to UTF-8 when stored in memory, and each UTF-16 word will be represented
- // by as many as 3 bytes in UTF-8.
- static unsigned int max_string_length_;
-
- MDRawHeader header_;
-
- // The list of streams.
- MinidumpDirectoryEntries* directory_;
-
- // Access to streams using the stream type as the key.
- MinidumpStreamMap* stream_map_;
-
- // The pathname of the minidump file to process, set in the constructor.
- // This may be empty if the minidump was opened directly from a stream.
- const string path_;
-
- // The stream for all file I/O. Used by ReadBytes and SeekSet.
- // Set based on the path in Open, or directly in the constructor.
- std::istream* stream_;
-
- // swap_ is true if the minidump file should be byte-swapped. If the
- // minidump was produced by a CPU that is other-endian than the CPU
- // processing the minidump, this will be true. If the two CPUs are
- // same-endian, this will be false.
- bool swap_;
-
- // Validity of the Minidump structure, false immediately after
- // construction or after a failed Read(); true following a successful
- // Read().
- bool valid_;
-
- DISALLOW_COPY_AND_ASSIGN(Minidump);
-};
-
-
-} // namespace google_breakpad
-
-
-#endif // GOOGLE_BREAKPAD_PROCESSOR_MINIDUMP_H__
diff --git a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/minidump_processor.h b/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/minidump_processor.h
deleted file mode 100644
index 387115ef7..000000000
--- a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/minidump_processor.h
+++ /dev/null
@@ -1,147 +0,0 @@
-// Copyright (c) 2006, Google Inc.
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-#ifndef GOOGLE_BREAKPAD_PROCESSOR_MINIDUMP_PROCESSOR_H__
-#define GOOGLE_BREAKPAD_PROCESSOR_MINIDUMP_PROCESSOR_H__
-
-#include <assert.h>
-#include <string>
-
-#include "common/using_std_string.h"
-#include "google_breakpad/common/breakpad_types.h"
-#include "google_breakpad/processor/process_result.h"
-
-namespace google_breakpad {
-
-class Minidump;
-class ProcessState;
-class StackFrameSymbolizer;
-class SourceLineResolverInterface;
-class SymbolSupplier;
-struct SystemInfo;
-
-class MinidumpProcessor {
- public:
- // Initializes this MinidumpProcessor. supplier should be an
- // implementation of the SymbolSupplier abstract base class.
- MinidumpProcessor(SymbolSupplier* supplier,
- SourceLineResolverInterface* resolver);
-
- // Initializes the MinidumpProcessor with the option of
- // enabling the exploitability framework to analyze dumps
- // for probable security relevance.
- MinidumpProcessor(SymbolSupplier* supplier,
- SourceLineResolverInterface* resolver,
- bool enable_exploitability);
-
- // Initializes the MinidumpProcessor with source line resolver helper, and
- // the option of enabling the exploitability framework to analyze dumps
- // for probable security relevance.
- // Does not take ownership of resolver_helper, which must NOT be NULL.
- MinidumpProcessor(StackFrameSymbolizer* stack_frame_symbolizer,
- bool enable_exploitability);
-
- ~MinidumpProcessor();
-
- // Processes the minidump file and fills process_state with the result.
- ProcessResult Process(const string &minidump_file,
- ProcessState* process_state);
-
- // Processes the minidump structure and fills process_state with the
- // result.
- ProcessResult Process(Minidump* minidump,
- ProcessState* process_state);
- // Populates the cpu_* fields of the |info| parameter with textual
- // representations of the CPU type that the minidump in |dump| was
- // produced on. Returns false if this information is not available in
- // the minidump.
- static bool GetCPUInfo(Minidump* dump, SystemInfo* info);
-
- // Populates the os_* fields of the |info| parameter with textual
- // representations of the operating system that the minidump in |dump|
- // was produced on. Returns false if this information is not available in
- // the minidump.
- static bool GetOSInfo(Minidump* dump, SystemInfo* info);
-
- // Populates the |process_create_time| parameter with the create time of the
- // crashed process. Returns false if this information is not available in
- // the minidump |dump|.
- static bool GetProcessCreateTime(Minidump* dump,
- uint32_t* process_create_time);
-
- // Returns a textual representation of the reason that a crash occurred,
- // if the minidump in dump was produced as a result of a crash. Returns
- // an empty string if this information cannot be determined. If address
- // is non-NULL, it will be set to contain the address that caused the
- // exception, if this information is available. This will be a code
- // address when the crash was caused by problems such as illegal
- // instructions or divisions by zero, or a data address when the crash
- // was caused by a memory access violation.
- static string GetCrashReason(Minidump* dump, uint64_t* address);
-
- // This function returns true if the passed-in error code is
- // something unrecoverable(i.e. retry should not happen). For
- // instance, if the minidump is corrupt, then it makes no sense to
- // retry as we won't be able to glean additional information.
- // However, as an example of the other case, the symbol supplier can
- // return an error code indicating it was 'interrupted', which can
- // happen of the symbols are fetched from a remote store, and a
- // retry might be successful later on.
- // You should not call this method with PROCESS_OK! Test for
- // that separately before calling this.
- static bool IsErrorUnrecoverable(ProcessResult p) {
- assert(p != PROCESS_OK);
- return (p != PROCESS_SYMBOL_SUPPLIER_INTERRUPTED);
- }
-
- // Returns a textual representation of an assertion included
- // in the minidump. Returns an empty string if this information
- // does not exist or cannot be determined.
- static string GetAssertion(Minidump* dump);
-
- void set_enable_objdump(bool enabled) { enable_objdump_ = enabled; }
-
- private:
- StackFrameSymbolizer* frame_symbolizer_;
- // Indicate whether resolver_helper_ is owned by this instance.
- bool own_frame_symbolizer_;
-
- // This flag enables the exploitability scanner which attempts to
- // guess how likely it is that the crash represents an exploitable
- // memory corruption issue.
- bool enable_exploitability_;
-
- // This flag permits the exploitability scanner to shell out to objdump
- // for purposes of disassembly.
- bool enable_objdump_;
-};
-
-} // namespace google_breakpad
-
-#endif // GOOGLE_BREAKPAD_PROCESSOR_MINIDUMP_PROCESSOR_H__
diff --git a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/proc_maps_linux.h b/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/proc_maps_linux.h
deleted file mode 100644
index b8e6eb926..000000000
--- a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/proc_maps_linux.h
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright (c) 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef BASE_DEBUG_PROC_MAPS_LINUX_H_
-#define BASE_DEBUG_PROC_MAPS_LINUX_H_
-
-#include <string>
-#include <vector>
-
-#include "common/using_std_string.h"
-#include "google_breakpad/common/breakpad_types.h"
-
-namespace google_breakpad {
-
-// Describes a region of mapped memory and the path of the file mapped.
-struct MappedMemoryRegion {
- enum Permission {
- READ = 1 << 0,
- WRITE = 1 << 1,
- EXECUTE = 1 << 2,
- PRIVATE = 1 << 3, // If set, region is private, otherwise it is shared.
- };
-
- // The address range [start,end) of mapped memory.
- uint64_t start;
- uint64_t end;
-
- // Byte offset into |path| of the range mapped into memory.
- uint64_t offset;
-
- // Bitmask of read/write/execute/private/shared permissions.
- uint8_t permissions;
-
- // Major and minor devices.
- uint8_t major_device;
- uint8_t minor_device;
-
- // Value of the inode.
- uint64_t inode;
-
- // Name of the file mapped into memory.
- //
- // NOTE: path names aren't guaranteed to point at valid files. For example,
- // "[heap]" and "[stack]" are used to represent the location of the process'
- // heap and stack, respectively.
- string path;
-
- // The line from /proc/<pid>/maps that this struct represents.
- string line;
-};
-
-// Parses /proc/<pid>/maps input data and stores in |regions|. Returns true
-// and updates |regions| if and only if all of |input| was successfully parsed.
-bool ParseProcMaps(const std::string& input,
- std::vector<MappedMemoryRegion>* regions);
-
-} // namespace google_breakpad
-
-#endif // BASE_DEBUG_PROC_MAPS_LINUX_H_
diff --git a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/process_result.h b/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/process_result.h
deleted file mode 100644
index 15c7213e9..000000000
--- a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/process_result.h
+++ /dev/null
@@ -1,66 +0,0 @@
-// Copyright (c) 2014, Google Inc.
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-#ifndef GOOGLE_BREAKPAD_PROCESSOR_PROCESS_RESULT_H__
-#define GOOGLE_BREAKPAD_PROCESSOR_PROCESS_RESULT_H__
-
-namespace google_breakpad {
-
-// Return type for MinidumpProcessor or MicrodumpProcessor's Process()
-enum ProcessResult {
- PROCESS_OK, // The dump was processed
- // successfully.
-
- PROCESS_ERROR_MINIDUMP_NOT_FOUND, // The minidump file was not
- // found.
-
- PROCESS_ERROR_NO_MINIDUMP_HEADER, // The minidump file had no
- // header.
-
- PROCESS_ERROR_NO_THREAD_LIST, // The minidump file has no
- // thread list.
-
- PROCESS_ERROR_GETTING_THREAD, // There was an error getting one
- // thread's data from th dump.
-
- PROCESS_ERROR_GETTING_THREAD_ID, // There was an error getting a
- // thread id from the thread's
- // data.
-
- PROCESS_ERROR_DUPLICATE_REQUESTING_THREADS, // There was more than one
- // requesting thread.
-
- PROCESS_SYMBOL_SUPPLIER_INTERRUPTED // The dump processing was
- // interrupted by the
- // SymbolSupplier(not fatal).
-};
-
-} // namespace google_breakpad
-
-#endif // GOOGLE_BREAKPAD_PROCESSOR_PROCESS_RESULT_H__
diff --git a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/process_state.h b/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/process_state.h
deleted file mode 100644
index 9f12b0c69..000000000
--- a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/process_state.h
+++ /dev/null
@@ -1,198 +0,0 @@
-// Copyright (c) 2006, Google Inc.
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// process_state.h: A snapshot of a process, in a fully-digested state.
-//
-// Author: Mark Mentovai
-
-#ifndef GOOGLE_BREAKPAD_PROCESSOR_PROCESS_STATE_H__
-#define GOOGLE_BREAKPAD_PROCESSOR_PROCESS_STATE_H__
-
-#include <string>
-#include <vector>
-
-#include "common/using_std_string.h"
-#include "google_breakpad/common/breakpad_types.h"
-#include "google_breakpad/processor/code_modules.h"
-#include "google_breakpad/processor/minidump.h"
-#include "google_breakpad/processor/system_info.h"
-#include "processor/linked_ptr.h"
-
-namespace google_breakpad {
-
-using std::vector;
-
-class CallStack;
-class CodeModules;
-
-enum ExploitabilityRating {
- EXPLOITABILITY_HIGH, // The crash likely represents
- // a exploitable memory corruption
- // vulnerability.
-
- EXPLOITABILITY_MEDIUM, // The crash appears to corrupt
- // memory in a way which may be
- // exploitable in some situations.
-
- EXPLOITABLITY_MEDIUM = EXPLOITABILITY_MEDIUM, // an old misspelling
-
- EXPLOITABILITY_LOW, // The crash either does not corrupt
- // memory directly or control over
- // the affected data is limited. The
- // issue may still be exploitable
- // on certain platforms or situations.
-
- EXPLOITABILITY_INTERESTING, // The crash does not appear to be
- // directly exploitable. However it
- // represents a condition which should
- // be further analyzed.
-
- EXPLOITABILITY_NONE, // The crash does not appear to represent
- // an exploitable condition.
-
- EXPLOITABILITY_NOT_ANALYZED, // The crash was not analyzed for
- // exploitability because the engine
- // was disabled.
-
- EXPLOITABILITY_ERR_NOENGINE, // The supplied minidump's platform does
- // not have a exploitability engine
- // associated with it.
-
- EXPLOITABILITY_ERR_PROCESSING // An error occured within the
- // exploitability engine and no rating
- // was calculated.
-};
-
-class ProcessState {
- public:
- ProcessState() : modules_(NULL) { Clear(); }
- ~ProcessState();
-
- // Resets the ProcessState to its default values
- void Clear();
-
- // Accessors. See the data declarations below.
- uint32_t time_date_stamp() const { return time_date_stamp_; }
- uint32_t process_create_time() const { return process_create_time_; }
- bool crashed() const { return crashed_; }
- string crash_reason() const { return crash_reason_; }
- uint64_t crash_address() const { return crash_address_; }
- string assertion() const { return assertion_; }
- int requesting_thread() const { return requesting_thread_; }
- const vector<CallStack*>* threads() const { return &threads_; }
- const vector<MemoryRegion*>* thread_memory_regions() const {
- return &thread_memory_regions_;
- }
- const SystemInfo* system_info() const { return &system_info_; }
- const CodeModules* modules() const { return modules_; }
- const vector<linked_ptr<const CodeModule> >* shrunk_range_modules() const {
- return &shrunk_range_modules_;
- }
- const vector<const CodeModule*>* modules_without_symbols() const {
- return &modules_without_symbols_;
- }
- const vector<const CodeModule*>* modules_with_corrupt_symbols() const {
- return &modules_with_corrupt_symbols_;
- }
- ExploitabilityRating exploitability() const { return exploitability_; }
-
- private:
- // MinidumpProcessor and MicrodumpProcessor are responsible for building
- // ProcessState objects.
- friend class MinidumpProcessor;
- friend class MicrodumpProcessor;
-
- // The time-date stamp of the minidump (time_t format)
- uint32_t time_date_stamp_;
-
- // The time-date stamp when the process was created (time_t format)
- uint32_t process_create_time_;
-
- // True if the process crashed, false if the dump was produced outside
- // of an exception handler.
- bool crashed_;
-
- // If the process crashed, the type of crash. OS- and possibly CPU-
- // specific. For example, "EXCEPTION_ACCESS_VIOLATION" (Windows),
- // "EXC_BAD_ACCESS / KERN_INVALID_ADDRESS" (Mac OS X), "SIGSEGV"
- // (other Unix).
- string crash_reason_;
-
- // If the process crashed, and if crash_reason implicates memory,
- // the memory address that caused the crash. For data access errors,
- // this will be the data address that caused the fault. For code errors,
- // this will be the address of the instruction that caused the fault.
- uint64_t crash_address_;
-
- // If there was an assertion that was hit, a textual representation
- // of that assertion, possibly including the file and line at which
- // it occurred.
- string assertion_;
-
- // The index of the thread that requested a dump be written in the
- // threads vector. If a dump was produced as a result of a crash, this
- // will point to the thread that crashed. If the dump was produced as
- // by user code without crashing, and the dump contains extended Breakpad
- // information, this will point to the thread that requested the dump.
- // If the dump was not produced as a result of an exception and no
- // extended Breakpad information is present, this field will be set to -1,
- // indicating that the dump thread is not available.
- int requesting_thread_;
-
- // Stacks for each thread (except possibly the exception handler
- // thread) at the time of the crash.
- vector<CallStack*> threads_;
- vector<MemoryRegion*> thread_memory_regions_;
-
- // OS and CPU information.
- SystemInfo system_info_;
-
- // The modules that were loaded into the process represented by the
- // ProcessState.
- const CodeModules *modules_;
-
- // The modules which virtual address ranges were shrunk down due to
- // virtual address conflicts.
- vector<linked_ptr<const CodeModule> > shrunk_range_modules_;
-
- // The modules that didn't have symbols when the report was processed.
- vector<const CodeModule*> modules_without_symbols_;
-
- // The modules that had corrupt symbols when the report was processed.
- vector<const CodeModule*> modules_with_corrupt_symbols_;
-
- // The exploitability rating as determined by the exploitability
- // engine. When the exploitability engine is not enabled this
- // defaults to EXPLOITABILITY_NOT_ANALYZED.
- ExploitabilityRating exploitability_;
-};
-
-} // namespace google_breakpad
-
-#endif // GOOGLE_BREAKPAD_PROCESSOR_PROCESS_STATE_H__
diff --git a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/source_line_resolver_base.h b/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/source_line_resolver_base.h
deleted file mode 100644
index c720b0c32..000000000
--- a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/source_line_resolver_base.h
+++ /dev/null
@@ -1,128 +0,0 @@
-// Copyright (c) 2010 Google Inc.
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-//
-// source_line_resolver_base.h: SourceLineResolverBase, an (incomplete)
-// implementation of SourceLineResolverInterface. It serves as a common base
-// class for concrete implementations: FastSourceLineResolver and
-// BasicSourceLineResolver. It is designed for refactoring that removes
-// code redundancy in the two concrete source line resolver classes.
-//
-// See "google_breakpad/processor/source_line_resolver_interface.h" for more
-// documentation.
-
-// Author: Siyang Xie (lambxsy@google.com)
-
-#ifndef GOOGLE_BREAKPAD_PROCESSOR_SOURCE_LINE_RESOLVER_BASE_H__
-#define GOOGLE_BREAKPAD_PROCESSOR_SOURCE_LINE_RESOLVER_BASE_H__
-
-#include <map>
-#include <set>
-#include <string>
-
-#include "google_breakpad/processor/source_line_resolver_interface.h"
-
-namespace google_breakpad {
-
-using std::map;
-using std::set;
-
-// Forward declaration.
-// ModuleFactory is a simple factory interface for creating a Module instance
-// at run-time.
-class ModuleFactory;
-
-class SourceLineResolverBase : public SourceLineResolverInterface {
- public:
- // Read the symbol_data from a file with given file_name.
- // The part of code was originally in BasicSourceLineResolver::Module's
- // LoadMap() method.
- // Place dynamically allocated heap buffer in symbol_data. Caller has the
- // ownership of the buffer, and should call delete [] to free the buffer.
- static bool ReadSymbolFile(const string &file_name,
- char **symbol_data,
- size_t *symbol_data_size);
-
- protected:
- // Users are not allowed create SourceLineResolverBase instance directly.
- SourceLineResolverBase(ModuleFactory *module_factory);
- virtual ~SourceLineResolverBase();
-
- // Virtual methods inherited from SourceLineResolverInterface.
- virtual bool LoadModule(const CodeModule *module, const string &map_file);
- virtual bool LoadModuleUsingMapBuffer(const CodeModule *module,
- const string &map_buffer);
- virtual bool LoadModuleUsingMemoryBuffer(const CodeModule *module,
- char *memory_buffer,
- size_t memory_buffer_size);
- virtual bool ShouldDeleteMemoryBufferAfterLoadModule();
- virtual void UnloadModule(const CodeModule *module);
- virtual bool HasModule(const CodeModule *module);
- virtual bool IsModuleCorrupt(const CodeModule *module);
- virtual void FillSourceLineInfo(StackFrame *frame);
- virtual WindowsFrameInfo *FindWindowsFrameInfo(const StackFrame *frame);
- virtual CFIFrameInfo *FindCFIFrameInfo(const StackFrame *frame);
-
- // Nested structs and classes.
- struct Line;
- struct Function;
- struct PublicSymbol;
- struct CompareString {
- bool operator()(const string &s1, const string &s2) const;
- };
- // Module is an interface for an in-memory symbol file.
- class Module;
- class AutoFileCloser;
-
- // All of the modules that are loaded.
- typedef map<string, Module*, CompareString> ModuleMap;
- ModuleMap *modules_;
-
- // The loaded modules that were detecting to be corrupt during load.
- typedef set<string, CompareString> ModuleSet;
- ModuleSet *corrupt_modules_;
-
- // All of heap-allocated buffers that are owned locally by resolver.
- typedef std::map<string, char*, CompareString> MemoryMap;
- MemoryMap *memory_buffers_;
-
- // Creates a concrete module at run-time.
- ModuleFactory *module_factory_;
-
- private:
- // ModuleFactory needs to have access to protected type Module.
- friend class ModuleFactory;
-
- // Disallow unwanted copy ctor and assignment operator
- SourceLineResolverBase(const SourceLineResolverBase&);
- void operator=(const SourceLineResolverBase&);
-};
-
-} // namespace google_breakpad
-
-#endif // GOOGLE_BREAKPAD_PROCESSOR_SOURCE_LINE_RESOLVER_BASE_H__
diff --git a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/source_line_resolver_interface.h b/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/source_line_resolver_interface.h
deleted file mode 100644
index a694bf2ea..000000000
--- a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/source_line_resolver_interface.h
+++ /dev/null
@@ -1,117 +0,0 @@
-// -*- mode: C++ -*-
-
-// Copyright (c) 2010 Google Inc.
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Abstract interface to return function/file/line info for a memory address.
-
-#ifndef GOOGLE_BREAKPAD_PROCESSOR_SOURCE_LINE_RESOLVER_INTERFACE_H__
-#define GOOGLE_BREAKPAD_PROCESSOR_SOURCE_LINE_RESOLVER_INTERFACE_H__
-
-#include <string>
-
-#include "common/using_std_string.h"
-#include "google_breakpad/common/breakpad_types.h"
-#include "google_breakpad/processor/code_module.h"
-
-namespace google_breakpad {
-
-struct StackFrame;
-struct WindowsFrameInfo;
-class CFIFrameInfo;
-
-class SourceLineResolverInterface {
- public:
- typedef uint64_t MemAddr;
-
- virtual ~SourceLineResolverInterface() {}
-
- // Adds a module to this resolver, returning true on success.
- //
- // module should have at least the code_file, debug_file,
- // and debug_identifier members populated.
- //
- // map_file should contain line/address mappings for this module.
- virtual bool LoadModule(const CodeModule *module,
- const string &map_file) = 0;
- // Same as above, but takes the contents of a pre-read map buffer
- virtual bool LoadModuleUsingMapBuffer(const CodeModule *module,
- const string &map_buffer) = 0;
-
- // Add an interface to load symbol using C-String data instead of string.
- // This is useful in the optimization design for avoiding unnecessary copying
- // of symbol data, in order to improve memory efficiency.
- // LoadModuleUsingMemoryBuffer() does NOT take ownership of memory_buffer.
- // LoadModuleUsingMemoryBuffer() null terminates the passed in buffer, if
- // the last character is not a null terminator.
- virtual bool LoadModuleUsingMemoryBuffer(const CodeModule *module,
- char *memory_buffer,
- size_t memory_buffer_size) = 0;
-
- // Return true if the memory buffer should be deleted immediately after
- // LoadModuleUsingMemoryBuffer(). Return false if the memory buffer has to be
- // alive during the lifetime of the corresponding Module.
- virtual bool ShouldDeleteMemoryBufferAfterLoadModule() = 0;
-
- // Request that the specified module be unloaded from this resolver.
- // A resolver may choose to ignore such a request.
- virtual void UnloadModule(const CodeModule *module) = 0;
-
- // Returns true if the module has been loaded.
- virtual bool HasModule(const CodeModule *module) = 0;
-
- // Returns true if the module has been loaded and it is corrupt.
- virtual bool IsModuleCorrupt(const CodeModule *module) = 0;
-
- // Fills in the function_base, function_name, source_file_name,
- // and source_line fields of the StackFrame. The instruction and
- // module_name fields must already be filled in.
- virtual void FillSourceLineInfo(StackFrame *frame) = 0;
-
- // If Windows stack walking information is available covering
- // FRAME's instruction address, return a WindowsFrameInfo structure
- // describing it. If the information is not available, returns NULL.
- // A NULL return value does not indicate an error. The caller takes
- // ownership of any returned WindowsFrameInfo object.
- virtual WindowsFrameInfo *FindWindowsFrameInfo(const StackFrame *frame) = 0;
-
- // If CFI stack walking information is available covering ADDRESS,
- // return a CFIFrameInfo structure describing it. If the information
- // is not available, return NULL. The caller takes ownership of any
- // returned CFIFrameInfo object.
- virtual CFIFrameInfo *FindCFIFrameInfo(const StackFrame *frame) = 0;
-
- protected:
- // SourceLineResolverInterface cannot be instantiated except by subclasses
- SourceLineResolverInterface() {}
-};
-
-} // namespace google_breakpad
-
-#endif // GOOGLE_BREAKPAD_PROCESSOR_SOURCE_LINE_RESOLVER_INTERFACE_H__
diff --git a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/stack_frame.h b/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/stack_frame.h
deleted file mode 100644
index b55eb9c75..000000000
--- a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/stack_frame.h
+++ /dev/null
@@ -1,144 +0,0 @@
-// Copyright (c) 2006, Google Inc.
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-#ifndef GOOGLE_BREAKPAD_PROCESSOR_STACK_FRAME_H__
-#define GOOGLE_BREAKPAD_PROCESSOR_STACK_FRAME_H__
-
-#include <string>
-
-#include "common/using_std_string.h"
-#include "google_breakpad/common/breakpad_types.h"
-
-namespace google_breakpad {
-
-class CodeModule;
-
-struct StackFrame {
- // Indicates how well the instruction pointer derived during
- // stack walking is trusted. Since the stack walker can resort to
- // stack scanning, it can wind up with dubious frames.
- // In rough order of "trust metric".
- enum FrameTrust {
- FRAME_TRUST_NONE, // Unknown
- FRAME_TRUST_SCAN, // Scanned the stack, found this
- FRAME_TRUST_CFI_SCAN, // Found while scanning stack using call frame info
- FRAME_TRUST_FP, // Derived from frame pointer
- FRAME_TRUST_CFI, // Derived from call frame info
- FRAME_TRUST_PREWALKED, // Explicitly provided by some external stack walker.
- FRAME_TRUST_CONTEXT // Given as instruction pointer in a context
- };
-
- StackFrame()
- : instruction(),
- module(NULL),
- function_name(),
- function_base(),
- source_file_name(),
- source_line(),
- source_line_base(),
- trust(FRAME_TRUST_NONE) {}
- virtual ~StackFrame() {}
-
- // Return a string describing how this stack frame was found
- // by the stackwalker.
- string trust_description() const {
- switch (trust) {
- case StackFrame::FRAME_TRUST_CONTEXT:
- return "given as instruction pointer in context";
- case StackFrame::FRAME_TRUST_PREWALKED:
- return "recovered by external stack walker";
- case StackFrame::FRAME_TRUST_CFI:
- return "call frame info";
- case StackFrame::FRAME_TRUST_CFI_SCAN:
- return "call frame info with scanning";
- case StackFrame::FRAME_TRUST_FP:
- return "previous frame's frame pointer";
- case StackFrame::FRAME_TRUST_SCAN:
- return "stack scanning";
- default:
- return "unknown";
- }
- };
-
- // Return the actual return address, as saved on the stack or in a
- // register. See the comments for 'instruction', below, for details.
- virtual uint64_t ReturnAddress() const { return instruction; }
-
- // The program counter location as an absolute virtual address.
- //
- // - For the innermost called frame in a stack, this will be an exact
- // program counter or instruction pointer value.
- //
- // - For all other frames, this address is within the instruction that
- // caused execution to branch to this frame's callee (although it may
- // not point to the exact beginning of that instruction). This ensures
- // that, when we look up the source code location for this frame, we
- // get the source location of the call, not of the point at which
- // control will resume when the call returns, which may be on the next
- // line. (If the compiler knows the callee never returns, it may even
- // place the call instruction at the very end of the caller's machine
- // code, such that the "return address" (which will never be used)
- // immediately after the call instruction is in an entirely different
- // function, perhaps even from a different source file.)
- //
- // On some architectures, the return address as saved on the stack or in
- // a register is fine for looking up the point of the call. On others, it
- // requires adjustment. ReturnAddress returns the address as saved by the
- // machine.
- uint64_t instruction;
-
- // The module in which the instruction resides.
- const CodeModule *module;
-
- // The function name, may be omitted if debug symbols are not available.
- string function_name;
-
- // The start address of the function, may be omitted if debug symbols
- // are not available.
- uint64_t function_base;
-
- // The source file name, may be omitted if debug symbols are not available.
- string source_file_name;
-
- // The (1-based) source line number, may be omitted if debug symbols are
- // not available.
- int source_line;
-
- // The start address of the source line, may be omitted if debug symbols
- // are not available.
- uint64_t source_line_base;
-
- // Amount of trust the stack walker has in the instruction pointer
- // of this frame.
- FrameTrust trust;
-};
-
-} // namespace google_breakpad
-
-#endif // GOOGLE_BREAKPAD_PROCESSOR_STACK_FRAME_H__
diff --git a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/stack_frame_cpu.h b/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/stack_frame_cpu.h
deleted file mode 100644
index dc5d8ae67..000000000
--- a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/stack_frame_cpu.h
+++ /dev/null
@@ -1,405 +0,0 @@
-// -*- mode: c++ -*-
-
-// Copyright (c) 2010 Google Inc.
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// stack_frame_cpu.h: CPU-specific StackFrame extensions.
-//
-// These types extend the StackFrame structure to carry CPU-specific register
-// state. They are defined in this header instead of stack_frame.h to
-// avoid the need to include minidump_format.h when only the generic
-// StackFrame type is needed.
-//
-// Author: Mark Mentovai
-
-#ifndef GOOGLE_BREAKPAD_PROCESSOR_STACK_FRAME_CPU_H__
-#define GOOGLE_BREAKPAD_PROCESSOR_STACK_FRAME_CPU_H__
-
-#include "google_breakpad/common/minidump_format.h"
-#include "google_breakpad/processor/stack_frame.h"
-
-namespace google_breakpad {
-
-struct WindowsFrameInfo;
-class CFIFrameInfo;
-
-struct StackFrameX86 : public StackFrame {
- // ContextValidity has one entry for each relevant hardware pointer
- // register (%eip and %esp) and one entry for each general-purpose
- // register. It's worthwhile having validity flags for caller-saves
- // registers: they are valid in the youngest frame, and such a frame
- // might save a callee-saves register in a caller-saves register, but
- // SimpleCFIWalker won't touch registers unless they're marked as valid.
- enum ContextValidity {
- CONTEXT_VALID_NONE = 0,
- CONTEXT_VALID_EIP = 1 << 0,
- CONTEXT_VALID_ESP = 1 << 1,
- CONTEXT_VALID_EBP = 1 << 2,
- CONTEXT_VALID_EAX = 1 << 3,
- CONTEXT_VALID_EBX = 1 << 4,
- CONTEXT_VALID_ECX = 1 << 5,
- CONTEXT_VALID_EDX = 1 << 6,
- CONTEXT_VALID_ESI = 1 << 7,
- CONTEXT_VALID_EDI = 1 << 8,
- CONTEXT_VALID_ALL = -1
- };
-
- StackFrameX86()
- : context(),
- context_validity(CONTEXT_VALID_NONE),
- windows_frame_info(NULL),
- cfi_frame_info(NULL) {}
- ~StackFrameX86();
-
- // Overriden to return the return address as saved on the stack.
- virtual uint64_t ReturnAddress() const;
-
- // Register state. This is only fully valid for the topmost frame in a
- // stack. In other frames, the values of nonvolatile registers may be
- // present, given sufficient debugging information. Refer to
- // context_validity.
- MDRawContextX86 context;
-
- // context_validity is actually ContextValidity, but int is used because
- // the OR operator doesn't work well with enumerated types. This indicates
- // which fields in context are valid.
- int context_validity;
-
- // Any stack walking information we found describing this.instruction.
- // These may be NULL if there is no such information for that address.
- WindowsFrameInfo *windows_frame_info;
- CFIFrameInfo *cfi_frame_info;
-};
-
-struct StackFramePPC : public StackFrame {
- // ContextValidity should eventually contain entries for the validity of
- // other nonvolatile (callee-save) registers as in
- // StackFrameX86::ContextValidity, but the ppc stackwalker doesn't currently
- // locate registers other than the ones listed here.
- enum ContextValidity {
- CONTEXT_VALID_NONE = 0,
- CONTEXT_VALID_SRR0 = 1 << 0,
- CONTEXT_VALID_GPR1 = 1 << 1,
- CONTEXT_VALID_ALL = -1
- };
-
- StackFramePPC() : context(), context_validity(CONTEXT_VALID_NONE) {}
-
- // Register state. This is only fully valid for the topmost frame in a
- // stack. In other frames, the values of nonvolatile registers may be
- // present, given sufficient debugging information. Refer to
- // context_validity.
- MDRawContextPPC context;
-
- // context_validity is actually ContextValidity, but int is used because
- // the OR operator doesn't work well with enumerated types. This indicates
- // which fields in context are valid.
- int context_validity;
-};
-
-struct StackFramePPC64 : public StackFrame {
- // ContextValidity should eventually contain entries for the validity of
- // other nonvolatile (callee-save) registers as in
- // StackFrameX86::ContextValidity, but the ppc stackwalker doesn't currently
- // locate registers other than the ones listed here.
- enum ContextValidity {
- CONTEXT_VALID_NONE = 0,
- CONTEXT_VALID_SRR0 = 1 << 0,
- CONTEXT_VALID_GPR1 = 1 << 1,
- CONTEXT_VALID_ALL = -1
- };
-
- StackFramePPC64() : context(), context_validity(CONTEXT_VALID_NONE) {}
-
- // Register state. This is only fully valid for the topmost frame in a
- // stack. In other frames, the values of nonvolatile registers may be
- // present, given sufficient debugging information. Refer to
- // context_validity.
- MDRawContextPPC64 context;
-
- // context_validity is actually ContextValidity, but int is used because
- // the OR operator doesn't work well with enumerated types. This indicates
- // which fields in context are valid.
- int context_validity;
-};
-
-struct StackFrameAMD64 : public StackFrame {
- // ContextValidity has one entry for each register that we might be able
- // to recover.
- enum ContextValidity {
- CONTEXT_VALID_NONE = 0,
- CONTEXT_VALID_RAX = 1 << 0,
- CONTEXT_VALID_RDX = 1 << 1,
- CONTEXT_VALID_RCX = 1 << 2,
- CONTEXT_VALID_RBX = 1 << 3,
- CONTEXT_VALID_RSI = 1 << 4,
- CONTEXT_VALID_RDI = 1 << 5,
- CONTEXT_VALID_RBP = 1 << 6,
- CONTEXT_VALID_RSP = 1 << 7,
- CONTEXT_VALID_R8 = 1 << 8,
- CONTEXT_VALID_R9 = 1 << 9,
- CONTEXT_VALID_R10 = 1 << 10,
- CONTEXT_VALID_R11 = 1 << 11,
- CONTEXT_VALID_R12 = 1 << 12,
- CONTEXT_VALID_R13 = 1 << 13,
- CONTEXT_VALID_R14 = 1 << 14,
- CONTEXT_VALID_R15 = 1 << 15,
- CONTEXT_VALID_RIP = 1 << 16,
- CONTEXT_VALID_ALL = -1
- };
-
- StackFrameAMD64() : context(), context_validity(CONTEXT_VALID_NONE) {}
-
- // Overriden to return the return address as saved on the stack.
- virtual uint64_t ReturnAddress() const;
-
- // Register state. This is only fully valid for the topmost frame in a
- // stack. In other frames, which registers are present depends on what
- // debugging information we had available. Refer to context_validity.
- MDRawContextAMD64 context;
-
- // For each register in context whose value has been recovered, we set
- // the corresponding CONTEXT_VALID_ bit in context_validity.
- //
- // context_validity's type should actually be ContextValidity, but
- // we use int instead because the bitwise inclusive or operator
- // yields an int when applied to enum values, and C++ doesn't
- // silently convert from ints to enums.
- int context_validity;
-};
-
-struct StackFrameSPARC : public StackFrame {
- // to be confirmed
- enum ContextValidity {
- CONTEXT_VALID_NONE = 0,
- CONTEXT_VALID_PC = 1 << 0,
- CONTEXT_VALID_SP = 1 << 1,
- CONTEXT_VALID_FP = 1 << 2,
- CONTEXT_VALID_ALL = -1
- };
-
- StackFrameSPARC() : context(), context_validity(CONTEXT_VALID_NONE) {}
-
- // Register state. This is only fully valid for the topmost frame in a
- // stack. In other frames, the values of nonvolatile registers may be
- // present, given sufficient debugging information. Refer to
- // context_validity.
- MDRawContextSPARC context;
-
- // context_validity is actually ContextValidity, but int is used because
- // the OR operator doesn't work well with enumerated types. This indicates
- // which fields in context are valid.
- int context_validity;
-};
-
-struct StackFrameARM : public StackFrame {
- // A flag for each register we might know.
- enum ContextValidity {
- CONTEXT_VALID_NONE = 0,
- CONTEXT_VALID_R0 = 1 << 0,
- CONTEXT_VALID_R1 = 1 << 1,
- CONTEXT_VALID_R2 = 1 << 2,
- CONTEXT_VALID_R3 = 1 << 3,
- CONTEXT_VALID_R4 = 1 << 4,
- CONTEXT_VALID_R5 = 1 << 5,
- CONTEXT_VALID_R6 = 1 << 6,
- CONTEXT_VALID_R7 = 1 << 7,
- CONTEXT_VALID_R8 = 1 << 8,
- CONTEXT_VALID_R9 = 1 << 9,
- CONTEXT_VALID_R10 = 1 << 10,
- CONTEXT_VALID_R11 = 1 << 11,
- CONTEXT_VALID_R12 = 1 << 12,
- CONTEXT_VALID_R13 = 1 << 13,
- CONTEXT_VALID_R14 = 1 << 14,
- CONTEXT_VALID_R15 = 1 << 15,
- CONTEXT_VALID_ALL = ~CONTEXT_VALID_NONE,
-
- // Aliases for registers with dedicated or conventional roles.
- CONTEXT_VALID_FP = CONTEXT_VALID_R11,
- CONTEXT_VALID_SP = CONTEXT_VALID_R13,
- CONTEXT_VALID_LR = CONTEXT_VALID_R14,
- CONTEXT_VALID_PC = CONTEXT_VALID_R15
- };
-
- StackFrameARM() : context(), context_validity(CONTEXT_VALID_NONE) {}
-
- // Return the ContextValidity flag for register rN.
- static ContextValidity RegisterValidFlag(int n) {
- return ContextValidity(1 << n);
- }
-
- // Register state. This is only fully valid for the topmost frame in a
- // stack. In other frames, the values of nonvolatile registers may be
- // present, given sufficient debugging information. Refer to
- // context_validity.
- MDRawContextARM context;
-
- // For each register in context whose value has been recovered, we set
- // the corresponding CONTEXT_VALID_ bit in context_validity.
- //
- // context_validity's type should actually be ContextValidity, but
- // we use int instead because the bitwise inclusive or operator
- // yields an int when applied to enum values, and C++ doesn't
- // silently convert from ints to enums.
- int context_validity;
-};
-
-struct StackFrameARM64 : public StackFrame {
- // A flag for each register we might know. Note that we can't use an enum
- // here as there are 33 values to represent.
- static const uint64_t CONTEXT_VALID_NONE = 0;
- static const uint64_t CONTEXT_VALID_X0 = 1ULL << 0;
- static const uint64_t CONTEXT_VALID_X1 = 1ULL << 1;
- static const uint64_t CONTEXT_VALID_X2 = 1ULL << 2;
- static const uint64_t CONTEXT_VALID_X3 = 1ULL << 3;
- static const uint64_t CONTEXT_VALID_X4 = 1ULL << 4;
- static const uint64_t CONTEXT_VALID_X5 = 1ULL << 5;
- static const uint64_t CONTEXT_VALID_X6 = 1ULL << 6;
- static const uint64_t CONTEXT_VALID_X7 = 1ULL << 7;
- static const uint64_t CONTEXT_VALID_X8 = 1ULL << 8;
- static const uint64_t CONTEXT_VALID_X9 = 1ULL << 9;
- static const uint64_t CONTEXT_VALID_X10 = 1ULL << 10;
- static const uint64_t CONTEXT_VALID_X11 = 1ULL << 11;
- static const uint64_t CONTEXT_VALID_X12 = 1ULL << 12;
- static const uint64_t CONTEXT_VALID_X13 = 1ULL << 13;
- static const uint64_t CONTEXT_VALID_X14 = 1ULL << 14;
- static const uint64_t CONTEXT_VALID_X15 = 1ULL << 15;
- static const uint64_t CONTEXT_VALID_X16 = 1ULL << 16;
- static const uint64_t CONTEXT_VALID_X17 = 1ULL << 17;
- static const uint64_t CONTEXT_VALID_X18 = 1ULL << 18;
- static const uint64_t CONTEXT_VALID_X19 = 1ULL << 19;
- static const uint64_t CONTEXT_VALID_X20 = 1ULL << 20;
- static const uint64_t CONTEXT_VALID_X21 = 1ULL << 21;
- static const uint64_t CONTEXT_VALID_X22 = 1ULL << 22;
- static const uint64_t CONTEXT_VALID_X23 = 1ULL << 23;
- static const uint64_t CONTEXT_VALID_X24 = 1ULL << 24;
- static const uint64_t CONTEXT_VALID_X25 = 1ULL << 25;
- static const uint64_t CONTEXT_VALID_X26 = 1ULL << 26;
- static const uint64_t CONTEXT_VALID_X27 = 1ULL << 27;
- static const uint64_t CONTEXT_VALID_X28 = 1ULL << 28;
- static const uint64_t CONTEXT_VALID_X29 = 1ULL << 29;
- static const uint64_t CONTEXT_VALID_X30 = 1ULL << 30;
- static const uint64_t CONTEXT_VALID_X31 = 1ULL << 31;
- static const uint64_t CONTEXT_VALID_X32 = 1ULL << 32;
- static const uint64_t CONTEXT_VALID_ALL = ~CONTEXT_VALID_NONE;
-
- // Aliases for registers with dedicated or conventional roles.
- static const uint64_t CONTEXT_VALID_FP = CONTEXT_VALID_X29;
- static const uint64_t CONTEXT_VALID_LR = CONTEXT_VALID_X30;
- static const uint64_t CONTEXT_VALID_SP = CONTEXT_VALID_X31;
- static const uint64_t CONTEXT_VALID_PC = CONTEXT_VALID_X32;
-
- StackFrameARM64() : context(),
- context_validity(CONTEXT_VALID_NONE) {}
-
- // Return the validity flag for register xN.
- static uint64_t RegisterValidFlag(int n) {
- return 1ULL << n;
- }
-
- // Register state. This is only fully valid for the topmost frame in a
- // stack. In other frames, the values of nonvolatile registers may be
- // present, given sufficient debugging information. Refer to
- // context_validity.
- MDRawContextARM64 context;
-
- // For each register in context whose value has been recovered, we set
- // the corresponding CONTEXT_VALID_ bit in context_validity.
- uint64_t context_validity;
-};
-
-struct StackFrameMIPS : public StackFrame {
- // MIPS callee save registers for o32 ABI (32bit registers) are:
- // 1. $s0-$s7,
- // 2. $sp, $fp
- // 3. $f20-$f31
- //
- // The register structure is available at
- // http://en.wikipedia.org/wiki/MIPS_architecture#Compiler_register_usage
-
-#define INDEX_MIPS_REG_S0 MD_CONTEXT_MIPS_REG_S0 // 16
-#define INDEX_MIPS_REG_S7 MD_CONTEXT_MIPS_REG_S7 // 23
-#define INDEX_MIPS_REG_GP MD_CONTEXT_MIPS_REG_GP // 28
-#define INDEX_MIPS_REG_RA MD_CONTEXT_MIPS_REG_RA // 31
-#define INDEX_MIPS_REG_PC 34
-#define SHIFT_MIPS_REG_S0 0
-#define SHIFT_MIPS_REG_GP 8
-#define SHIFT_MIPS_REG_PC 12
-
- enum ContextValidity {
- CONTEXT_VALID_NONE = 0,
- CONTEXT_VALID_S0 = 1 << 0, // $16
- CONTEXT_VALID_S1 = 1 << 1, // $17
- CONTEXT_VALID_S2 = 1 << 2, // $18
- CONTEXT_VALID_S3 = 1 << 3, // $19
- CONTEXT_VALID_S4 = 1 << 4, // $20
- CONTEXT_VALID_S5 = 1 << 5, // $21
- CONTEXT_VALID_S6 = 1 << 6, // $22
- CONTEXT_VALID_S7 = 1 << 7, // $23
- // GP is not calee-save for o32 abi.
- CONTEXT_VALID_GP = 1 << 8, // $28
- CONTEXT_VALID_SP = 1 << 9, // $29
- CONTEXT_VALID_FP = 1 << 10, // $30
- CONTEXT_VALID_RA = 1 << 11, // $31
- CONTEXT_VALID_PC = 1 << 12, // $34
- CONTEXT_VALID_ALL = ~CONTEXT_VALID_NONE
- };
-
- // Return the ContextValidity flag for register rN.
- static ContextValidity RegisterValidFlag(int n) {
- if (n >= INDEX_MIPS_REG_S0 && n <= INDEX_MIPS_REG_S7)
- return ContextValidity(1 << (n - INDEX_MIPS_REG_S0 + SHIFT_MIPS_REG_S0));
- else if (n >= INDEX_MIPS_REG_GP && n <= INDEX_MIPS_REG_RA)
- return ContextValidity(1 << (n - INDEX_MIPS_REG_GP + SHIFT_MIPS_REG_GP));
- else if (n == INDEX_MIPS_REG_PC)
- return ContextValidity(1 << SHIFT_MIPS_REG_PC);
-
- return CONTEXT_VALID_NONE;
- }
-
- StackFrameMIPS() : context(), context_validity(CONTEXT_VALID_NONE) {}
-
- // Register state. This is only fully valid for the topmost frame in a
- // stack. In other frames, which registers are present depends on what
- // debugging information were available. Refer to 'context_validity' below.
- MDRawContextMIPS context;
-
- // For each register in context whose value has been recovered,
- // the corresponding CONTEXT_VALID_ bit in 'context_validity' is set.
- //
- // context_validity's type should actually be ContextValidity, but
- // type int is used instead because the bitwise inclusive or operator
- // yields an int when applied to enum values, and C++ doesn't
- // silently convert from ints to enums.
- int context_validity;
-};
-
-} // namespace google_breakpad
-
-#endif // GOOGLE_BREAKPAD_PROCESSOR_STACK_FRAME_CPU_H__
diff --git a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/stack_frame_symbolizer.h b/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/stack_frame_symbolizer.h
deleted file mode 100644
index 074907cb1..000000000
--- a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/stack_frame_symbolizer.h
+++ /dev/null
@@ -1,108 +0,0 @@
-// -*- mode: C++ -*-
-
-// Copyright (c) 2012 Google Inc.
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Helper class that encapsulates the logic of how symbol supplier interacts
-// with source line resolver to fill stack frame information.
-
-#ifndef GOOGLE_BREAKPAD_PROCESSOR_STACK_FRAME_SYMBOLIZER_H__
-#define GOOGLE_BREAKPAD_PROCESSOR_STACK_FRAME_SYMBOLIZER_H__
-
-#include <set>
-#include <string>
-
-#include "common/using_std_string.h"
-#include "google_breakpad/common/breakpad_types.h"
-#include "google_breakpad/processor/code_module.h"
-
-namespace google_breakpad {
-class CFIFrameInfo;
-class CodeModules;
-class SymbolSupplier;
-class SourceLineResolverInterface;
-struct StackFrame;
-struct SystemInfo;
-struct WindowsFrameInfo;
-
-class StackFrameSymbolizer {
- public:
- enum SymbolizerResult {
- // Symbol data was found and successfully loaded in resolver.
- // This does NOT guarantee source line info is found within symbol file.
- kNoError,
- // This indicates non-critical error, such as, no code module found for
- // frame's instruction, no symbol file, or resolver failed to load symbol.
- kError,
- // This indicates error for which stack walk should be interrupted
- // and retried in future.
- kInterrupt,
- // Symbol data was found and loaded in resolver however some corruptions
- // were detected.
- kWarningCorruptSymbols,
- };
-
- StackFrameSymbolizer(SymbolSupplier* supplier,
- SourceLineResolverInterface* resolver);
-
- virtual ~StackFrameSymbolizer() { }
-
- // Encapsulate the step of resolving source line info for a stack frame.
- // "frame" must not be NULL.
- virtual SymbolizerResult FillSourceLineInfo(const CodeModules* modules,
- const SystemInfo* system_info,
- StackFrame* stack_frame);
-
- virtual WindowsFrameInfo* FindWindowsFrameInfo(const StackFrame* frame);
-
- virtual CFIFrameInfo* FindCFIFrameInfo(const StackFrame* frame);
-
- // Reset internal (locally owned) data as if the helper is re-instantiated.
- // A typical case is to call Reset() after processing an individual report
- // before start to process next one, in order to reset internal information
- // about missing symbols found so far.
- virtual void Reset() { no_symbol_modules_.clear(); }
-
- // Returns true if there is valid implementation for stack symbolization.
- virtual bool HasImplementation() { return resolver_ && supplier_; }
-
- SourceLineResolverInterface* resolver() { return resolver_; }
- SymbolSupplier* supplier() { return supplier_; }
-
- protected:
- SymbolSupplier* supplier_;
- SourceLineResolverInterface* resolver_;
- // A list of modules known to have symbols missing. This helps avoid
- // repeated lookups for the missing symbols within one minidump.
- std::set<string> no_symbol_modules_;
-};
-
-} // namespace google_breakpad
-
-#endif // GOOGLE_BREAKPAD_PROCESSOR_STACK_FRAME_SYMBOLIZER_H__
diff --git a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/stackwalker.h b/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/stackwalker.h
deleted file mode 100644
index a1bd3e7fe..000000000
--- a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/stackwalker.h
+++ /dev/null
@@ -1,235 +0,0 @@
-// Copyright (c) 2010 Google Inc.
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// stackwalker.h: Generic stackwalker.
-//
-// The Stackwalker class is an abstract base class providing common generic
-// methods that apply to stacks from all systems. Specific implementations
-// will extend this class by providing GetContextFrame and GetCallerFrame
-// methods to fill in system-specific data in a StackFrame structure.
-// Stackwalker assembles these StackFrame strucutres into a CallStack.
-//
-// Author: Mark Mentovai
-
-
-#ifndef GOOGLE_BREAKPAD_PROCESSOR_STACKWALKER_H__
-#define GOOGLE_BREAKPAD_PROCESSOR_STACKWALKER_H__
-
-#include <set>
-#include <string>
-#include <vector>
-
-#include "common/using_std_string.h"
-#include "google_breakpad/common/breakpad_types.h"
-#include "google_breakpad/processor/code_modules.h"
-#include "google_breakpad/processor/memory_region.h"
-#include "google_breakpad/processor/stack_frame_symbolizer.h"
-
-namespace google_breakpad {
-
-class CallStack;
-class DumpContext;
-class StackFrameSymbolizer;
-
-using std::set;
-using std::vector;
-
-class Stackwalker {
- public:
- virtual ~Stackwalker() {}
-
- // Populates the given CallStack by calling GetContextFrame and
- // GetCallerFrame. The frames are further processed to fill all available
- // data. Returns true if the stackwalk completed, or false if it was
- // interrupted by SymbolSupplier::GetSymbolFile().
- // Upon return, |modules_without_symbols| will be populated with pointers to
- // the code modules (CodeModule*) that DON'T have symbols.
- // |modules_with_corrupt_symbols| will be populated with pointers to the
- // modules which have corrupt symbols. |modules_without_symbols| and
- // |modules_with_corrupt_symbols| DO NOT take ownership of the code modules.
- // The lifetime of these code modules is the same as the lifetime of the
- // CodeModules passed to the StackWalker constructor (which currently
- // happens to be the lifetime of the Breakpad's ProcessingState object).
- // There is a check for duplicate modules so no duplicates are expected.
- bool Walk(CallStack* stack,
- vector<const CodeModule*>* modules_without_symbols,
- vector<const CodeModule*>* modules_with_corrupt_symbols);
-
- // Returns a new concrete subclass suitable for the CPU that a stack was
- // generated on, according to the CPU type indicated by the context
- // argument. If no suitable concrete subclass exists, returns NULL.
- static Stackwalker* StackwalkerForCPU(
- const SystemInfo* system_info,
- DumpContext* context,
- MemoryRegion* memory,
- const CodeModules* modules,
- StackFrameSymbolizer* resolver_helper);
-
- static void set_max_frames(uint32_t max_frames) {
- max_frames_ = max_frames;
- max_frames_set_ = true;
- }
- static uint32_t max_frames() { return max_frames_; }
-
- static void set_max_frames_scanned(uint32_t max_frames_scanned) {
- max_frames_scanned_ = max_frames_scanned;
- }
-
- protected:
- // system_info identifies the operating system, NULL or empty if unknown.
- // memory identifies a MemoryRegion that provides the stack memory
- // for the stack to walk. modules, if non-NULL, is a CodeModules
- // object that is used to look up which code module each stack frame is
- // associated with. frame_symbolizer is a StackFrameSymbolizer object that
- // encapsulates the logic of how source line resolver interacts with symbol
- // supplier to symbolize stack frame and look up caller frame information
- // (see stack_frame_symbolizer.h).
- // frame_symbolizer MUST NOT be NULL (asserted).
- Stackwalker(const SystemInfo* system_info,
- MemoryRegion* memory,
- const CodeModules* modules,
- StackFrameSymbolizer* frame_symbolizer);
-
- // This can be used to filter out potential return addresses when
- // the stack walker resorts to stack scanning.
- // Returns true if any of:
- // * This address is within a loaded module, but we don't have symbols
- // for that module.
- // * This address is within a loaded module for which we have symbols,
- // and falls inside a function in that module.
- // Returns false otherwise.
- bool InstructionAddressSeemsValid(uint64_t address);
-
- // The default number of words to search through on the stack
- // for a return address.
- static const int kRASearchWords;
-
- template<typename InstructionType>
- bool ScanForReturnAddress(InstructionType location_start,
- InstructionType* location_found,
- InstructionType* ip_found,
- bool is_context_frame) {
- // When searching for the caller of the context frame,
- // allow the scanner to look farther down the stack.
- const int search_words = is_context_frame ?
- kRASearchWords * 4 :
- kRASearchWords;
-
- return ScanForReturnAddress(location_start, location_found, ip_found,
- search_words);
- }
-
- // Scan the stack starting at location_start, looking for an address
- // that looks like a valid instruction pointer. Addresses must
- // 1) be contained in the current stack memory
- // 2) pass the checks in InstructionAddressSeemsValid
- //
- // Returns true if a valid-looking instruction pointer was found.
- // When returning true, sets location_found to the address at which
- // the value was found, and ip_found to the value contained at that
- // location in memory.
- template<typename InstructionType>
- bool ScanForReturnAddress(InstructionType location_start,
- InstructionType* location_found,
- InstructionType* ip_found,
- int searchwords) {
- for (InstructionType location = location_start;
- location <= location_start + searchwords * sizeof(InstructionType);
- location += sizeof(InstructionType)) {
- InstructionType ip;
- if (!memory_->GetMemoryAtAddress(location, &ip))
- break;
-
- if (modules_ && modules_->GetModuleForAddress(ip) &&
- InstructionAddressSeemsValid(ip)) {
- *ip_found = ip;
- *location_found = location;
- return true;
- }
- }
- // nothing found
- return false;
- }
-
- // Information about the system that produced the minidump. Subclasses
- // and the SymbolSupplier may find this information useful.
- const SystemInfo* system_info_;
-
- // The stack memory to walk. Subclasses will require this region to
- // get information from the stack.
- MemoryRegion* memory_;
-
- // A list of modules, for populating each StackFrame's module information.
- // This field is optional and may be NULL.
- const CodeModules* modules_;
-
- protected:
- // The StackFrameSymbolizer implementation.
- StackFrameSymbolizer* frame_symbolizer_;
-
- private:
- // Obtains the context frame, the innermost called procedure in a stack
- // trace. Returns NULL on failure. GetContextFrame allocates a new
- // StackFrame (or StackFrame subclass), ownership of which is taken by
- // the caller.
- virtual StackFrame* GetContextFrame() = 0;
-
- // Obtains a caller frame. Each call to GetCallerFrame should return the
- // frame that called the last frame returned by GetContextFrame or
- // GetCallerFrame. To aid this purpose, stack contains the CallStack
- // made of frames that have already been walked. GetCallerFrame should
- // return NULL on failure or when there are no more caller frames (when
- // the end of the stack has been reached). GetCallerFrame allocates a new
- // StackFrame (or StackFrame subclass), ownership of which is taken by
- // the caller. |stack_scan_allowed| controls whether stack scanning is
- // an allowable frame-recovery method, since it is desirable to be able to
- // disable stack scanning in performance-critical use cases.
- virtual StackFrame* GetCallerFrame(const CallStack* stack,
- bool stack_scan_allowed) = 0;
-
- // The maximum number of frames Stackwalker will walk through.
- // This defaults to 1024 to prevent infinite loops.
- static uint32_t max_frames_;
-
- // Keep track of whether max_frames_ has been set by the user, since
- // it affects whether or not an error message is printed in the case
- // where an unwind got stopped by the limit.
- static bool max_frames_set_;
-
- // The maximum number of stack-scanned and otherwise untrustworthy
- // frames allowed. Stack-scanning can be expensive, so the option to
- // disable or limit it is helpful in cases where unwind performance is
- // important. This defaults to 1024, the same as max_frames_.
- static uint32_t max_frames_scanned_;
-};
-
-} // namespace google_breakpad
-
-
-#endif // GOOGLE_BREAKPAD_PROCESSOR_STACKWALKER_H__
diff --git a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/symbol_supplier.h b/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/symbol_supplier.h
deleted file mode 100644
index a042081f3..000000000
--- a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/symbol_supplier.h
+++ /dev/null
@@ -1,99 +0,0 @@
-// Copyright (c) 2006, Google Inc.
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// The caller may implement the SymbolSupplier abstract base class
-// to provide symbols for a given module.
-
-#ifndef GOOGLE_BREAKPAD_PROCESSOR_SYMBOL_SUPPLIER_H__
-#define GOOGLE_BREAKPAD_PROCESSOR_SYMBOL_SUPPLIER_H__
-
-#include <string>
-#include "common/using_std_string.h"
-
-namespace google_breakpad {
-
-class CodeModule;
-struct SystemInfo;
-
-class SymbolSupplier {
- public:
- // Result type for GetSymbolFile
- enum SymbolResult {
- // no symbols were found, but continue processing
- NOT_FOUND,
-
- // symbols were found, and the path has been placed in symbol_file
- FOUND,
-
- // stops processing the minidump immediately
- INTERRUPT
- };
-
- virtual ~SymbolSupplier() {}
-
- // Retrieves the symbol file for the given CodeModule, placing the
- // path in symbol_file if successful. system_info contains strings
- // identifying the operating system and CPU; SymbolSupplier may use
- // to help locate the symbol file. system_info may be NULL or its
- // fields may be empty if these values are unknown. symbol_file
- // must be a pointer to a valid string
- virtual SymbolResult GetSymbolFile(const CodeModule *module,
- const SystemInfo *system_info,
- string *symbol_file) = 0;
- // Same as above, except also places symbol data into symbol_data.
- // If symbol_data is NULL, the data is not returned.
- // TODO(nealsid) Once we have symbol data caching behavior implemented
- // investigate making all symbol suppliers implement all methods,
- // and make this pure virtual
- virtual SymbolResult GetSymbolFile(const CodeModule *module,
- const SystemInfo *system_info,
- string *symbol_file,
- string *symbol_data) = 0;
-
- // Same as above, except allocates data buffer on heap and then places the
- // symbol data into the buffer as C-string.
- // SymbolSupplier is responsible for deleting the data buffer. After the call
- // to GetCStringSymbolData(), the caller should call FreeSymbolData(const
- // Module *module) once the data buffer is no longer needed.
- // If symbol_data is not NULL, symbol supplier won't return FOUND unless it
- // returns a valid buffer in symbol_data, e.g., returns INTERRUPT on memory
- // allocation failure.
- virtual SymbolResult GetCStringSymbolData(const CodeModule *module,
- const SystemInfo *system_info,
- string *symbol_file,
- char **symbol_data,
- size_t *symbol_data_size) = 0;
-
- // Frees the data buffer allocated for the module in GetCStringSymbolData.
- virtual void FreeSymbolData(const CodeModule *module) = 0;
-};
-
-} // namespace google_breakpad
-
-#endif // GOOGLE_BREAKPAD_PROCESSOR_SYMBOL_SUPPLIER_H__
diff --git a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/system_info.h b/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/system_info.h
deleted file mode 100644
index 8d2f60be4..000000000
--- a/toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/system_info.h
+++ /dev/null
@@ -1,106 +0,0 @@
-// Copyright (c) 2006, Google Inc.
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// system_info.h: Information about the system that was running a program
-// when a crash report was produced.
-//
-// Author: Mark Mentovai
-
-#ifndef GOOGLE_BREAKPAD_PROCESSOR_SYSTEM_INFO_H__
-#define GOOGLE_BREAKPAD_PROCESSOR_SYSTEM_INFO_H__
-
-#include <string>
-
-#include "common/using_std_string.h"
-
-namespace google_breakpad {
-
-struct SystemInfo {
- public:
- SystemInfo() : os(), os_short(), os_version(), cpu(), cpu_info(),
- cpu_count(0), gl_version(), gl_vendor(), gl_renderer() {}
-
- // Resets the SystemInfo object to its default values.
- void Clear() {
- os.clear();
- os_short.clear();
- os_version.clear();
- cpu.clear();
- cpu_info.clear();
- cpu_count = 0;
- gl_version.clear();
- gl_vendor.clear();
- gl_renderer.clear();
- }
-
- // A string identifying the operating system, such as "Windows NT",
- // "Mac OS X", or "Linux". If the information is present in the dump but
- // its value is unknown, this field will contain a numeric value. If
- // the information is not present in the dump, this field will be empty.
- string os;
-
- // A short form of the os string, using lowercase letters and no spaces,
- // suitable for use in a filesystem. Possible values include "windows",
- // "mac", "linux" and "nacl". Empty if the information is not present
- // in the dump or if the OS given by the dump is unknown. The values
- // stored in this field should match those used by
- // MinidumpSystemInfo::GetOS.
- string os_short;
-
- // A string identifying the version of the operating system, such as
- // "5.1.2600 Service Pack 2" or "10.4.8 8L2127". If the dump does not
- // contain this information, this field will be empty.
- string os_version;
-
- // A string identifying the basic CPU family, such as "x86" or "ppc".
- // If this information is present in the dump but its value is unknown,
- // this field will contain a numeric value. If the information is not
- // present in the dump, this field will be empty. The values stored in
- // this field should match those used by MinidumpSystemInfo::GetCPU.
- string cpu;
-
- // A string further identifying the specific CPU, such as
- // "GenuineIntel level 6 model 13 stepping 8". If the information is not
- // present in the dump, or additional identifying information is not
- // defined for the CPU family, this field will be empty.
- string cpu_info;
-
- // The number of processors in the system. Will be greater than one for
- // multi-core systems.
- int cpu_count;
-
- // The GPU information. Currently only populated in microdumps.
- string gl_version;
- string gl_vendor;
- string gl_renderer;
-};
-
-} // namespace google_breakpad
-
-#endif // GOOGLE_BREAKPAD_PROCESSOR_SYSTEM_INFO_H__