Loading...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 | <h2>task_get_exception_ports</h2> <hr> <p> <strong>Function</strong> - Return send rights to the target task's exception ports. <h3>SYNOPSIS</h3> <pre> <strong>kern_return_t task_get_exception_ports</strong> <strong>(task_t</strong> <var>task</var>, <strong>exception_mask_t</strong> <var>exception_types</var>, <strong>exception_mask_array_t</strong> <var>old_exception_masks</var>, <strong>old_exception_masks</strong> <var>old_exception_count</var>, <strong>exception_port_array_t</strong> <var>old_exception_ports</var>, <strong>exception_behavior_array_t</strong> <var>old_behaviors</var>, <strong>exception_flavor_array_t</strong> <var>old_flavors</var><strong>);</strong> </pre> <h3>PARAMETERS</h3> <dl> <p> <dt> <var>task</var> <dd> [in task send right] The task for which to return the exception ports. <p> <dt> <var>exception_types</var> <dd> [in scalar] A flag word indicating the types of exceptions for which the exception ports are desired: <dl> <p> <dt> <strong>EXC_MASK_BAD_ACCESS</strong> <dd> Could not access memory. <p> <dt> <strong>EXC_MASK_BAD_INSTRUCTION</strong> <dd> Instruction failed. Illegal or undefined instruction or operand. <p> <dt> <strong>EXC_MASK_ARITHMETIC</strong> <dd> Arithmetic exception <p> <dt> <strong>EXC_MASK_EMULATION</strong> <dd> Emulation instruction. Emulation support instruction encountered. <p> <dt> <strong>EXC_MASK_SOFTWARE</strong> <dd> Software generated exception. <p> <dt> <strong>EXC_MASK_BREAKPOINT</strong> <dd> Trace, breakpoint, etc. <p> <dt> <strong>EXC_MASK_SYSCALL</strong> <dd> System call requested. <p> <dt> <strong>EXC_MASK_MACH_SYSCALL</strong> <dd> System call with a number in the Mach call range requested. <p> <dt> <strong>EXC_MASK_RPC_ALERT </strong> <dd> Exceptional condition encountered during execution of RPC. </dl> <p> <dt> <var>old_exception_masks</var> <dd> [out array of <var>exception_mask_t</var>] An array, each element being a mask specifying for which exception types the corresponding element of the other arrays apply. <p> <dt> <var>old_exception_count</var> <dd> [pointer to in/out scalar] On input, the maximum size of the array buffers; on output, the number of returned <exception type mask, exception port, behavior, flavor> sets returned. <p> <dt> <var>old_exception_ports</var> <dd> [out array of exception send rights] The returned exception ports. <p> <dt> <var>old_behaviors</var> <dd> [out array of <var>exception_behavior_t</var>] The type of exception message to be sent. Defined types are: <dl> <p> <dt> <strong>EXCEPTION_DEFAULT</strong> <dd> Send a <strong>catch_exception_raise</strong> message including the thread identity. <p> <dt> <strong>EXCEPTION_STATE</strong> <dd> Send a <strong>catch_exception_raise_state</strong> message including the thread state. <p> <dt> <strong>EXCEPTION_STATE_IDENTITY</strong> <dd> Send a <strong>catch_exception_raise_state_identity</strong> message including the thread identity and state. </dl> <p> <dt> <var>old_flavors</var> <dd> [out array of <var>thread_state_flavor_t</var>] The type of state to be sent with the exception message. These types are defined in <strong><mach/thread_states.h></strong>. </dl> <h3>DESCRIPTION</h3> <p> The <strong>task_get_exception_ports</strong> function returns send rights for a specified set of exception ports belonging to task. A task exception port is used when a thread specific exception port returns a non-success reply. The call returns a set of quadruples <exception type mask, exception port, behavior, flavor> for each unique set of <exception port, behavior, flavor> in effect for the task where the exception type mask indicates for which exception types the other values apply. <h3>RETURN VALUES</h3> <p> Only generic errors apply. <h3>RELATED INFORMATION</h3> <p> Functions: <a href="mach_task_self.html"><strong>mach_task_self</strong></a>, <a href="thread_get_exception_ports.html"><strong>thread_get_exception_ports</strong></a>, <a href="task_set_exception_ports.html"><strong>task_set_exception_ports</strong></a>, <a href="task_swap_exception_ports.html"><strong>task_swap_exception_ports</strong></a>, <a href="thread_create.html"><strong>thread_create</strong></a>, <a href="thread_set_exception_ports.html"><strong>thread_set_exception_ports</strong></a>, <a href="TS_exception_ports.html"><strong>thread_swap_exception_ports</strong></a>, <a href="catch_exception_raise.html"><strong>catch_exception_raise</strong></a>. |