X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/9bccf70c0258c7cac2dcb80011b2a964d884c552..b7266188b87f3620ec3f9f717e57194a7dd989fe:/osfmk/man/task_swap_exception_ports.html diff --git a/osfmk/man/task_swap_exception_ports.html b/osfmk/man/task_swap_exception_ports.html index 481cd7790..cfcb41986 100755 --- a/osfmk/man/task_swap_exception_ports.html +++ b/osfmk/man/task_swap_exception_ports.html @@ -1 +1,176 @@ -

task_swap_exception_ports


Function - Set target task's exception ports, returning the previous exception ports.

SYNOPSIS

kern_return_t   task_swap_exception_ports
                (task_t                                    task,
                 exception_mask_t               exception_types,
                 mach_port_t                     exception_port,
                 exception_behavior_t                  behavior,
                 thread_state_flavor_t                   flavor,
                 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

task
[in task send right] The task for which to set the ports.

exception_types
[in scalar] A flag word indicating the types of exceptions for which the exception port applies:

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.

EXC_MASK_RPC_ALERT
Exceptional condition encountered during execution of RPC.

exception_port
[in exception send right] The exception port for all selected exception types.

behavior
[in scalar] 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_PROTECTED
Send a catch_exception_raise_state message including the thread state. Mark the exception port (and associated exceptions) as protected.

EXCEPTION_STATE_IDENTITY
Send a catch_exception_raise_state_identity message including the thread identity and state.

EXCEPTION_STATE_IDENTITY_PROTECTED
Send a catch_exception_raise_state_identity message including the thread identity and state. Mark the exception port (and associated exceptions) as protected.

flavor
[in scalar] The type of state to be sent with the exception message. These types are defined in <mach/thread_states.h>.

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 as with behavior.

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 <mach/thread_states.h>.

DESCRIPTION

The task_swap_exception_ports function sets a specified set of exception ports belonging to task, returning the old set. A task exception port is used when a thread specific exception port returns a non-success reply.

NOTES

If the value of the EXC_MACH_SYSCALL exception class exception port is the host name port, Mach kernel traps are executed by the kernel as expected; any other value causes the attempted execution of these system call numbers to be considered an exception.

RETURN VALUES

Only generic errors apply.

RELATED INFORMATION

Functions: mach_task_self, task_get_exception_ports, task_set_exception_ports, thread_create, thread_get_exception_ports, thread_set_exception_ports, thread_swap_exception_ports, catch_exception_raise, thread_abort. \ No newline at end of file +

task_swap_exception_ports

+
+

+Function - Set target task's exception ports, returning the previous exception ports. +

SYNOPSIS

+
+kern_return_t   task_swap_exception_ports
+                (task_t                                    task,
+                 exception_mask_t               exception_types,
+                 mach_port_t                     exception_port,
+                 exception_behavior_t                  behavior,
+                 thread_state_flavor_t                   flavor,
+                 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

+
+

+

task +
+[in task send right] +The task for which to set the ports. +

+

exception_types +
+[in scalar] +A flag word indicating the types of exceptions for which the +exception port applies: +
+

+

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. +

+

EXC_MASK_RPC_ALERT +
+Exceptional condition encountered during execution of RPC. +
+

+

exception_port +
+[in exception send right] +The exception port for all selected exception +types. +

+

behavior +
+[in scalar] +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_PROTECTED +
+Send a catch_exception_raise_state message including the +thread state. Mark the exception port (and associated +exceptions) as protected. +

+

EXCEPTION_STATE_IDENTITY +
+Send a catch_exception_raise_state_identity message +including the thread identity and state. +

+

EXCEPTION_STATE_IDENTITY_PROTECTED +
+Send a catch_exception_raise_state_identity message +including the thread identity and state. Mark the exception port +(and associated exceptions) as protected. +
+

+

flavor +
+[in scalar] +The type of state to be sent with the exception message. +These types are defined in <mach/thread_states.h>. +

+

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 as with behavior. +

+

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 <mach/thread_states.h>. +
+

DESCRIPTION

+

+The task_swap_exception_ports function sets a specified +set of exception +ports belonging to task, returning the old set. A task exception +port is used when +a thread specific exception port returns a non-success reply. +

NOTES

+

+If the value of the EXC_MACH_SYSCALL exception class exception port is +the host name port, Mach kernel traps are executed by the kernel as expected; +any other value causes the attempted execution of these system call numbers to +be considered an exception. +

RETURN VALUES

+

+Only generic errors apply. +

RELATED INFORMATION

+

+Functions: +mach_task_self, +task_get_exception_ports, +task_set_exception_ports, +thread_create, +thread_get_exception_ports, +thread_set_exception_ports, +thread_swap_exception_ports, +catch_exception_raise, +thread_abort.