/* Copyright 2006 Google LLC * * 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 LLC 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). */ 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. */ MDNTStatusCodeWin; // These constants are defined in the MSDN documentation of // the EXCEPTION_RECORD structure. MDAccessViolationTypeWin; // These constants are defined in the MSDN documentation of // the EXCEPTION_RECORD structure. MDInPageErrorTypeWin; // These constants are defined in winnt.h and are used with the // STATUS_STACK_BUFFER_OVERRUN exception as exception subcodes. MDFastFailSubcodeTypeWin; #endif /* GOOGLE_BREAKPAD_COMMON_MINIDUMP_EXCEPTION_WIN32_H__ */