OLD | NEW |
1 // Copyright 2014 The Crashpad Authors. All rights reserved. | 1 // Copyright 2014 The Crashpad Authors. All rights reserved. |
2 // | 2 // |
3 // Licensed under the Apache License, Version 2.0 (the "License"); | 3 // Licensed under the Apache License, Version 2.0 (the "License"); |
4 // you may not use this file except in compliance with the License. | 4 // you may not use this file except in compliance with the License. |
5 // You may obtain a copy of the License at | 5 // You may obtain a copy of the License at |
6 // | 6 // |
7 // http://www.apache.org/licenses/LICENSE-2.0 | 7 // http://www.apache.org/licenses/LICENSE-2.0 |
8 // | 8 // |
9 // Unless required by applicable law or agreed to in writing, software | 9 // Unless required by applicable law or agreed to in writing, software |
10 // distributed under the License is distributed on an "AS IS" BASIS, | 10 // distributed under the License is distributed on an "AS IS" BASIS, |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
87 | 87 |
88 //! \brief The value for `EXC_MASK_ALL` appropriate for the operating system at | 88 //! \brief The value for `EXC_MASK_ALL` appropriate for the operating system at |
89 //! run time. | 89 //! run time. |
90 //! | 90 //! |
91 //! The SDK’s definition of `EXC_MASK_ALL` has changed over time, with later | 91 //! The SDK’s definition of `EXC_MASK_ALL` has changed over time, with later |
92 //! versions containing more bits set than earlier versions. However, older | 92 //! versions containing more bits set than earlier versions. However, older |
93 //! kernels will reject exception masks that contain bits set that they don’t | 93 //! kernels will reject exception masks that contain bits set that they don’t |
94 //! recognize. Calling this function will return a value for `EXC_MASK_ALL` | 94 //! recognize. Calling this function will return a value for `EXC_MASK_ALL` |
95 //! appropriate for the system at run time. | 95 //! appropriate for the system at run time. |
96 //! | 96 //! |
97 //! \note `EXC_MASK_ALL` does not include the value of `EXC_MASK_CRASH`. | 97 //! \note `EXC_MASK_ALL` does not include the value of `EXC_MASK_CRASH` or |
98 //! Consumers that want `EXC_MASK_ALL` along with `EXC_MASK_CRASH` must use | 98 //! `EXC_MASK_CORPSE_NOTIFY`. Consumers that want `EXC_MASK_ALL` along with |
99 //! ExcMaskAll() | `EXC_MASK_CRASH` explicitly. | 99 //! `EXC_MASK_CRASH` may use ExcMaskAll() `| EXC_MASK_CRASH`. Consumers may |
| 100 //! use ExcMaskValid() for `EXC_MASK_ALL` along with `EXC_MASK_CRASH`, |
| 101 //! `EXC_MASK_CORPSE_NOTIFY`, and any values that come into existence in the |
| 102 //! future. |
100 exception_mask_t ExcMaskAll(); | 103 exception_mask_t ExcMaskAll(); |
101 | 104 |
| 105 //! \brief An exception mask containing every possible exception understood by |
| 106 //! the operating system at run time. |
| 107 //! |
| 108 //! `EXC_MASK_ALL`, and thus ExcMaskAll(), never includes the value of |
| 109 //! `EXC_MASK_CRASH` or `EXC_MASK_CORPSE_NOTIFY`. For situations where an |
| 110 //! exception mask corresponding to every possible exception understood by the |
| 111 //! running kernel is desired, use this function instead. |
| 112 //! |
| 113 //! Should new exception types be introduced in the future, this function will |
| 114 //! be updated to include their bits in the returned mask value when run time |
| 115 //! support is present. |
| 116 exception_mask_t ExcMaskValid(); |
| 117 |
102 } // namespace crashpad | 118 } // namespace crashpad |
103 | 119 |
104 #endif // CRASHPAD_UTIL_MACH_MACH_EXTENSIONS_H_ | 120 #endif // CRASHPAD_UTIL_MACH_MACH_EXTENSIONS_H_ |
OLD | NEW |