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 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
44 //! exception message will carry identity information, when it has the value | 44 //! exception message will carry identity information, when it has the value |
45 //! value `EXCEPTION_DEFAULT` or `EXCEPTION_STATE_IDENTITY`, possibly with | 45 //! value `EXCEPTION_DEFAULT` or `EXCEPTION_STATE_IDENTITY`, possibly with |
46 //! `MACH_EXCEPTION_CODES` also set. In other cases, these parameters are unused | 46 //! `MACH_EXCEPTION_CODES` also set. In other cases, these parameters are unused |
47 //! and may be set to `THREAD_NULL` and `TASK_NULL`, respectively. | 47 //! and may be set to `THREAD_NULL` and `TASK_NULL`, respectively. |
48 //! | 48 //! |
49 //! \a flavor, \a old_state, \a old_state_count, \a new_state, and \a | 49 //! \a flavor, \a old_state, \a old_state_count, \a new_state, and \a |
50 //! new_state_count are only used when \a behavior indicates that the exception | 50 //! new_state_count are only used when \a behavior indicates that the exception |
51 //! message will carry thread state information, when it has the value | 51 //! message will carry thread state information, when it has the value |
52 //! `EXCEPTION_STATE` or `EXCEPTION_STATE_IDENTITY`, possibly with | 52 //! `EXCEPTION_STATE` or `EXCEPTION_STATE_IDENTITY`, possibly with |
53 //! `MACH_EXCEPTION_CODES` also set. In other cases, these parameters are unused | 53 //! `MACH_EXCEPTION_CODES` also set. In other cases, these parameters are unused |
54 //! and may be set to `0` (\a old_state_count) or `NULL` (the remaining | 54 //! and may be set to `0` (\a old_state_count) or `nullptr` (the remaining |
55 //! parameters). | 55 //! parameters). |
56 //! | 56 //! |
57 //! \param[in] behavior The exception behavior, which dictates which function | 57 //! \param[in] behavior The exception behavior, which dictates which function |
58 //! will be called. It is an error to call this function with an invalid | 58 //! will be called. It is an error to call this function with an invalid |
59 //! value for \a behavior. | 59 //! value for \a behavior. |
60 //! \param[in] code If \behavior indicates a behavior without | 60 //! \param[in] code If \behavior indicates a behavior without |
61 //! `MACH_EXCEPTION_CODES`, the elements of \a code will be truncated in | 61 //! `MACH_EXCEPTION_CODES`, the elements of \a code will be truncated in |
62 //! order to be passed to the appropriate exception handler. | 62 //! order to be passed to the appropriate exception handler. |
63 //! | 63 //! |
64 //! All other parameters are treated equivalently to their treatment by the | 64 //! All other parameters are treated equivalently to their treatment by the |
65 //! `*exception_raise*()` family of functions. | 65 //! `*exception_raise*()` family of functions. |
66 //! | 66 //! |
67 //! \return The return value of the function called. | 67 //! \return The return value of the function called. |
68 kern_return_t UniversalExceptionRaise(exception_behavior_t behavior, | 68 kern_return_t UniversalExceptionRaise(exception_behavior_t behavior, |
69 exception_handler_t exception_port, | 69 exception_handler_t exception_port, |
70 thread_t thread, | 70 thread_t thread, |
71 task_t task, | 71 task_t task, |
72 exception_type_t exception, | 72 exception_type_t exception, |
73 const mach_exception_data_type_t* code, | 73 const mach_exception_data_type_t* code, |
74 mach_msg_type_number_t code_count, | 74 mach_msg_type_number_t code_count, |
75 thread_state_flavor_t* flavor, | 75 thread_state_flavor_t* flavor, |
76 const natural_t* old_state, | 76 const natural_t* old_state, |
77 mach_msg_type_number_t old_state_count, | 77 mach_msg_type_number_t old_state_count, |
78 thread_state_t new_state, | 78 thread_state_t new_state, |
79 mach_msg_type_number_t* new_state_count); | 79 mach_msg_type_number_t* new_state_count); |
80 | 80 |
81 } // namespace crashpad | 81 } // namespace crashpad |
82 | 82 |
83 #endif // CRASHPAD_UTIL_MACH_EXC_CLIENT_VARIANTS_H_ | 83 #endif // CRASHPAD_UTIL_MACH_EXC_CLIENT_VARIANTS_H_ |
OLD | NEW |