xref: /aosp_15_r20/external/google-breakpad/src/google_breakpad/common/minidump_exception_fuchsia.h (revision 9712c20fc9bbfbac4935993a2ca0b3958c5adad2)
1 /* Copyright 2019 Google LLC
2  *
3  * Redistribution and use in source and binary forms, with or without
4  * modification, are permitted provided that the following conditions are
5  * met:
6  *
7  *     * Redistributions of source code must retain the above copyright
8  * notice, this list of conditions and the following disclaimer.
9  *     * Redistributions in binary form must reproduce the above
10  * copyright notice, this list of conditions and the following disclaimer
11  * in the documentation and/or other materials provided with the
12  * distribution.
13  *     * Neither the name of Google LLC nor the names of its
14  * contributors may be used to endorse or promote products derived from
15  * this software without specific prior written permission.
16  *
17  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
28 
29 /* minidump_exception_fuchsia.h: A definition of exception codes for Fuchsia.
30  *
31  * Author: Ivan Penkov */
32 
33 #ifndef GOOGLE_BREAKPAD_COMMON_MINIDUMP_EXCEPTION_FUCHSIA_H_
34 #define GOOGLE_BREAKPAD_COMMON_MINIDUMP_EXCEPTION_FUCHSIA_H_
35 
36 #include <stddef.h>
37 
38 #include "google_breakpad/common/breakpad_types.h"
39 
40 // Based on zircon/system/public/zircon/syscalls/exception.h
41 typedef enum {
42   // Architectural exceptions
43   MD_EXCEPTION_CODE_FUCHSIA_GENERAL = 0x8,
44   MD_EXCEPTION_CODE_FUCHSIA_FATAL_PAGE_FAULT = 0x108,
45   MD_EXCEPTION_CODE_FUCHSIA_UNDEFINED_INSTRUCTION = 0x208,
46   MD_EXCEPTION_CODE_FUCHSIA_SW_BREAKPOINT = 0x308,
47   MD_EXCEPTION_CODE_FUCHSIA_HW_BREAKPOINT = 0x408,
48   MD_EXCEPTION_CODE_FUCHSIA_UNALIGNED_ACCESS = 0x508,
49   //
50   // Synthetic exceptions
51   MD_EXCEPTION_CODE_FUCHSIA_THREAD_STARTING = 0x8008,
52   MD_EXCEPTION_CODE_FUCHSIA_THREAD_EXITING = 0x8108,
53   MD_EXCEPTION_CODE_FUCHSIA_POLICY_ERROR = 0x8208,
54   MD_EXCEPTION_CODE_FUCHSIA_PROCESS_STARTING = 0x8308,
55 } MDExceptionCodeFuchsia;
56 
57 #endif  // GOOGLE_BREAKPAD_COMMON_MINIDUMP_EXCEPTION_FUCHSIA_H_
58