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