| OLD | NEW |
| (Empty) |
| 1 /* Copyright (c) 2006, Google Inc. | |
| 2 * All rights reserved. | |
| 3 * | |
| 4 * Redistribution and use in source and binary forms, with or without | |
| 5 * modification, are permitted provided that the following conditions are | |
| 6 * met: | |
| 7 * | |
| 8 * * Redistributions of source code must retain the above copyright | |
| 9 * notice, this list of conditions and the following disclaimer. | |
| 10 * * Redistributions in binary form must reproduce the above | |
| 11 * copyright notice, this list of conditions and the following disclaimer | |
| 12 * in the documentation and/or other materials provided with the | |
| 13 * distribution. | |
| 14 * * Neither the name of Google Inc. nor the names of its | |
| 15 * contributors may be used to endorse or promote products derived from | |
| 16 * this software without specific prior written permission. | |
| 17 * | |
| 18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | |
| 19 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | |
| 20 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | |
| 21 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | |
| 22 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | |
| 23 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | |
| 24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | |
| 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | |
| 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
| 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | |
| 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ | |
| 29 | |
| 30 /* minidump_exception_win32.h: Definitions of exception codes for | |
| 31 * Win32 platform | |
| 32 * | |
| 33 * (This is C99 source, please don't corrupt it with C++.) | |
| 34 * | |
| 35 * Author: Mark Mentovai | |
| 36 * Split into its own file: Neal Sidhwaney */ | |
| 37 | |
| 38 | |
| 39 #ifndef GOOGLE_BREAKPAD_COMMON_MINIDUMP_EXCEPTION_WIN32_H__ | |
| 40 #define GOOGLE_BREAKPAD_COMMON_MINIDUMP_EXCEPTION_WIN32_H__ | |
| 41 | |
| 42 #include <stddef.h> | |
| 43 | |
| 44 #include "google_breakpad/common/breakpad_types.h" | |
| 45 | |
| 46 | |
| 47 /* For (MDException).exception_code. These values come from WinBase.h | |
| 48 * and WinNT.h (names beginning with EXCEPTION_ are in WinBase.h, | |
| 49 * they are STATUS_ in WinNT.h). */ | |
| 50 typedef enum { | |
| 51 MD_EXCEPTION_CODE_WIN_CONTROL_C = 0x40010005, | |
| 52 /* DBG_CONTROL_C */ | |
| 53 MD_EXCEPTION_CODE_WIN_GUARD_PAGE_VIOLATION = 0x80000001, | |
| 54 /* EXCEPTION_GUARD_PAGE */ | |
| 55 MD_EXCEPTION_CODE_WIN_DATATYPE_MISALIGNMENT = 0x80000002, | |
| 56 /* EXCEPTION_DATATYPE_MISALIGNMENT */ | |
| 57 MD_EXCEPTION_CODE_WIN_BREAKPOINT = 0x80000003, | |
| 58 /* EXCEPTION_BREAKPOINT */ | |
| 59 MD_EXCEPTION_CODE_WIN_SINGLE_STEP = 0x80000004, | |
| 60 /* EXCEPTION_SINGLE_STEP */ | |
| 61 MD_EXCEPTION_CODE_WIN_ACCESS_VIOLATION = 0xc0000005, | |
| 62 /* EXCEPTION_ACCESS_VIOLATION */ | |
| 63 MD_EXCEPTION_CODE_WIN_IN_PAGE_ERROR = 0xc0000006, | |
| 64 /* EXCEPTION_IN_PAGE_ERROR */ | |
| 65 MD_EXCEPTION_CODE_WIN_INVALID_HANDLE = 0xc0000008, | |
| 66 /* EXCEPTION_INVALID_HANDLE */ | |
| 67 MD_EXCEPTION_CODE_WIN_ILLEGAL_INSTRUCTION = 0xc000001d, | |
| 68 /* EXCEPTION_ILLEGAL_INSTRUCTION */ | |
| 69 MD_EXCEPTION_CODE_WIN_NONCONTINUABLE_EXCEPTION = 0xc0000025, | |
| 70 /* EXCEPTION_NONCONTINUABLE_EXCEPTION */ | |
| 71 MD_EXCEPTION_CODE_WIN_INVALID_DISPOSITION = 0xc0000026, | |
| 72 /* EXCEPTION_INVALID_DISPOSITION */ | |
| 73 MD_EXCEPTION_CODE_WIN_ARRAY_BOUNDS_EXCEEDED = 0xc000008c, | |
| 74 /* EXCEPTION_BOUNDS_EXCEEDED */ | |
| 75 MD_EXCEPTION_CODE_WIN_FLOAT_DENORMAL_OPERAND = 0xc000008d, | |
| 76 /* EXCEPTION_FLT_DENORMAL_OPERAND */ | |
| 77 MD_EXCEPTION_CODE_WIN_FLOAT_DIVIDE_BY_ZERO = 0xc000008e, | |
| 78 /* EXCEPTION_FLT_DIVIDE_BY_ZERO */ | |
| 79 MD_EXCEPTION_CODE_WIN_FLOAT_INEXACT_RESULT = 0xc000008f, | |
| 80 /* EXCEPTION_FLT_INEXACT_RESULT */ | |
| 81 MD_EXCEPTION_CODE_WIN_FLOAT_INVALID_OPERATION = 0xc0000090, | |
| 82 /* EXCEPTION_FLT_INVALID_OPERATION */ | |
| 83 MD_EXCEPTION_CODE_WIN_FLOAT_OVERFLOW = 0xc0000091, | |
| 84 /* EXCEPTION_FLT_OVERFLOW */ | |
| 85 MD_EXCEPTION_CODE_WIN_FLOAT_STACK_CHECK = 0xc0000092, | |
| 86 /* EXCEPTION_FLT_STACK_CHECK */ | |
| 87 MD_EXCEPTION_CODE_WIN_FLOAT_UNDERFLOW = 0xc0000093, | |
| 88 /* EXCEPTION_FLT_UNDERFLOW */ | |
| 89 MD_EXCEPTION_CODE_WIN_INTEGER_DIVIDE_BY_ZERO = 0xc0000094, | |
| 90 /* EXCEPTION_INT_DIVIDE_BY_ZERO */ | |
| 91 MD_EXCEPTION_CODE_WIN_INTEGER_OVERFLOW = 0xc0000095, | |
| 92 /* EXCEPTION_INT_OVERFLOW */ | |
| 93 MD_EXCEPTION_CODE_WIN_PRIVILEGED_INSTRUCTION = 0xc0000096, | |
| 94 /* EXCEPTION_PRIV_INSTRUCTION */ | |
| 95 MD_EXCEPTION_CODE_WIN_STACK_OVERFLOW = 0xc00000fd, | |
| 96 /* EXCEPTION_STACK_OVERFLOW */ | |
| 97 MD_EXCEPTION_CODE_WIN_POSSIBLE_DEADLOCK = 0xc0000194, | |
| 98 /* EXCEPTION_POSSIBLE_DEADLOCK */ | |
| 99 MD_EXCEPTION_CODE_WIN_STACK_BUFFER_OVERRUN = 0xc0000409, | |
| 100 /* STATUS_STACK_BUFFER_OVERRUN */ | |
| 101 MD_EXCEPTION_CODE_WIN_HEAP_CORRUPTION = 0xc0000374, | |
| 102 /* STATUS_HEAP_CORRUPTION */ | |
| 103 MD_EXCEPTION_CODE_WIN_UNHANDLED_CPP_EXCEPTION = 0xe06d7363 | |
| 104 /* Per http://support.microsoft.com/kb/185294, | |
| 105 generated by Visual C++ compiler */ | |
| 106 } MDExceptionCodeWin; | |
| 107 | |
| 108 // These constants are defined in the MSDN documentation of | |
| 109 // the EXCEPTION_RECORD structure. | |
| 110 typedef enum { | |
| 111 MD_ACCESS_VIOLATION_WIN_READ = 0, | |
| 112 MD_ACCESS_VIOLATION_WIN_WRITE = 1, | |
| 113 MD_ACCESS_VIOLATION_WIN_EXEC = 8 | |
| 114 } MDAccessViolationTypeWin; | |
| 115 | |
| 116 #endif /* GOOGLE_BREAKPAD_COMMON_MINIDUMP_EXCEPTION_WIN32_H__ */ | |
| OLD | NEW |