#include <mach/std_types.defs>
#include <mach/mach_types.defs>
+#if !KERNEL && !LIBSYSCALL_INTERFACE
+#define PREFIX(NAME) _kernelrpc_ ## NAME
+#else
+#define PREFIX(NAME) NAME
+#endif
+
/*
* Destroy the target thread.
*
* may be stale. [Flavor THREAD_STATE_FLAVOR_LIST provides a
* list of valid flavors for the target thread.]
*/
-routine act_get_state(
- target_act : thread_act_t;
+routine
+#ifdef KERNEL_SERVER
+act_get_state_to_user(
+#else
+act_get_state(
+#endif
+ target_act : thread_read_t;
flavor : int;
out old_state : thread_state_t, CountInOut);
* may be stale. [Flavor THREAD_STATE_FLAVOR_LIST provides a
* list of valid flavors for the target thr_act.]
*/
-routine thread_get_state(
- target_act : thread_act_t;
+routine
+#ifdef KERNEL_SERVER
+thread_get_state_to_user(
+#else
+thread_get_state(
+#endif
+ target_act : thread_read_t;
flavor : thread_state_flavor_t;
out old_state : thread_state_t, CountInOut);
target_act : thread_act_t);
-routine thread_depress_abort(
+routine
+#ifdef KERNEL_SERVER
+thread_depress_abort_from_user(
+#else
+thread_depress_abort(
+#endif
thread : thread_act_t);
* Returns the current value of the selected special port
* associated with the target thread.
*/
-routine thread_get_special_port(
- thr_act : thread_act_t;
+routine
+#ifdef KERNEL_SERVER
+thread_get_special_port_from_user(
+ port : mach_port_t;
+#else
+thread_get_special_port(
+ thr_act : thread_inspect_t;
+#endif
which_port : int;
out special_port : mach_port_t);
+
/*
* Set one of the special ports associated with the
* target thread.
* Returns information about the target thread.
*/
routine thread_info(
- target_act : thread_act_t;
+ target_act : thread_inspect_t;
flavor : thread_flavor_t;
out thread_info_out : thread_info_t, CountInOut);
/*
* Lookup some of the old exception handlers for a thread
*/
-routine thread_get_exception_ports(
+routine
+#if KERNEL_SERVER
+thread_get_exception_ports_from_user(
+ port : mach_port_t;
+#else
+thread_get_exception_ports(
thread : thread_act_t;
+#endif
exception_mask : exception_mask_t;
out masks : exception_mask_array_t;
out old_handlers : exception_handler_array_t, SameCount;
/*
* OBSOLETE interface.
*/
-routine thread_policy(
+routine PREFIX(thread_policy)(
thr_act : thread_act_t;
policy : policy_t;
base : policy_base_t;
* (Approved Mac OS X microkernel interface)
*/
-routine thread_policy_set(
+routine PREFIX(thread_policy_set)(
thread : thread_act_t;
flavor : thread_policy_flavor_t;
policy_info : thread_policy_t);
routine thread_policy_get(
- thread : thread_act_t;
+ thread : thread_inspect_t;
flavor : thread_policy_flavor_t;
out policy_info : thread_policy_t, CountInOut;
inout get_default : boolean_t);
* Get current assignment for thread.
*/
routine thread_get_assignment(
- thread : thread_act_t;
+ thread : thread_inspect_t;
out assigned_set : processor_set_name_t);
-
/*
* OBSOLETE interface.
*/
-routine thread_set_policy(
- thr_act : thread_act_t;
- pset : processor_set_t;
- policy : policy_t;
- base : policy_base_t;
- limit : policy_limit_t);
+routine PREFIX(thread_set_policy)(
+ thr_act : thread_act_t;
+ pset : processor_set_t;
+ policy : policy_t;
+ base : policy_base_t;
+ limit : policy_limit_t);
+
+routine thread_get_mach_voucher(
+ thr_act : thread_read_t;
+ which : mach_voucher_selector_t;
+ out voucher : ipc_voucher_t);
+
+routine thread_set_mach_voucher(
+ thr_act : thread_act_t;
+ voucher : ipc_voucher_t);
+
+routine thread_swap_mach_voucher(
+ thr_act : thread_act_t;
+ new_voucher : ipc_voucher_t;
+ inout old_voucher : ipc_voucher_t);
+
+routine thread_convert_thread_state(
+ thread : thread_act_t;
+ direction : int;
+ flavor : thread_state_flavor_t;
+ in_state : thread_state_t;
+ out out_state : thread_state_t, CountInOut);
+
+#ifdef XNU_KERNEL_PRIVATE
+#endif
/* vim: set ft=c : */