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_UNHANDLED_CPP_EXCEPTION = 0xe06d7363 | |
100 /* Per http://support.microsoft.com/kb/185294, | |
101 generated by Visual C++ compiler */ | |
102 } MDExceptionCodeWin; | |
103 | |
104 | |
105 #endif /* GOOGLE_BREAKPAD_COMMON_MINIDUMP_EXCEPTION_WIN32_H__ */ | |
OLD | NEW |