thread_get_exception_ports
Function - Return a send right to an exception port.
SYNOPSIS
kern_return_t thread_get_exception_ports
(thread_act_t thread,
exception_mask_t exception_types,
exception_mask_array_t old_exception_masks,
old_exception_masks old_exception_count,
exception_port_array_t old_exception_ports,
exception_behavior_array_t old_behaviors,
exception_flavor_array_t old_flavors);
PARAMETERS
- thread
-
[in thread send right]
The thread for which to return the exception
ports.
- exception_types
-
[in scalar]
A flag word indicating the types of exceptions for which the
exception ports are desired:
- EXC_MASK_BAD_ACCESS
-
Could not access memory.
- EXC_MASK_BAD_INSTRUCTION
-
Instruction failed. Illegal or undefined instruction or operand.
- EXC_MASK_ARITHMETIC
-
Arithmetic exception.
- EXC_MASK_EMULATION
-
Emulation instruction. Emulation support instruction
encountered.
- EXC_MASK_SOFTWARE
-
Software generated exception.
- EXC_MASK_BREAKPOINT
-
Trace, breakpoint, etc.
- EXC_MASK_SYSCALL
-
System call requested.
- EXC_MASK_MACH_SYSCALL
-
System call with a number in the Mach call range requested.
- old_exception_masks
-
[out array of exception_mask_t]
An array, each element being a mask
specifying for which exception types the corresponding element of the
other arrays apply.
- old_exception_count
-
[pointer to in/out scalar]
On input, the maximum size of the array
buffers; on output, the number of returned sets returned.
- old_exception_ports
-
[out array of exception send rights]
The returned exception ports.
- old_behaviors
-
[out array of exception_behavior_t]
The type of exception message to
be sent. Defined types are:
- EXCEPTION_DEFAULT
-
Send a catch_exception_raise message including the thread
identity.
- EXCEPTION_STATE
-
Send a catch_exception_raise_state message including the
thread state.
- EXCEPTION_STATE_IDENTITY
-
Send a catch_exception_raise_state_identity message
including the thread identity and state.
- old_flavors
-
[out array of thread_state_flavor_t]
The type of state to be sent with
the exception message. These types are defined in \*L\*O.
DESCRIPTION
The thread_get_exception_ports function returns send
rights for a specified
set of exception ports belonging to thread. The call returns
a set of quadruples
for each unique set of
in effect for the thread where
the exception
type mask indicates for which exception types the other values apply.
RETURN VALUES
- KERN_EXCEPTION_PROTECTED
-
One of the requested exception ports is protected and cannot be returned.
RELATED INFORMATION
Functions:
mach_thread_self,
task_get_exception_ports,
task_set_exception_ports,
task_swap_exception_ports,
thread_create,
thread_set_exception_ports,
thread_swap_exception_ports,
catch_exception_raise.