+/*
+ * Change the task's physical footprint limit (in MB).
+ */
+routine task_set_phys_footprint_limit(
+ task : task_t;
+ new_limit : int;
+ out old_limit : int);
+
+routine task_suspend2(
+ target_task : task_read_t;
+ out suspend_token : task_suspension_token_t);
+
+routine task_resume2(
+ suspend_token : task_suspension_token_t);
+
+routine task_purgable_info(
+ task : task_inspect_t;
+ out stats : task_purgable_info_t);
+
+routine task_get_mach_voucher(
+ task : task_read_t;
+ which : mach_voucher_selector_t;
+ out voucher : ipc_voucher_t);
+
+routine task_set_mach_voucher(
+ task : task_t;
+ voucher : ipc_voucher_t);
+
+routine task_swap_mach_voucher(
+ task : task_t;
+ new_voucher : ipc_voucher_t;
+ inout old_voucher : ipc_voucher_t);
+
+routine task_generate_corpse(
+ task :task_read_t;
+ out corpse_task_port:mach_port_t);
+
+routine task_map_corpse_info(
+ task :task_t;
+ corspe_task :task_read_t;
+ out kcd_addr_begin :vm_address_t;
+ out kcd_size :uint32_t);
+
+routine task_register_dyld_image_infos(
+ task :task_t;
+ dyld_images :dyld_kernel_image_info_array_t);
+
+routine task_unregister_dyld_image_infos(
+ task :task_t;
+ dyld_images :dyld_kernel_image_info_array_t);
+
+routine task_get_dyld_image_infos(
+ task :task_read_t;
+ out dyld_images :dyld_kernel_image_info_array_t);
+
+routine task_register_dyld_shared_cache_image_info(
+ task :task_t;
+ dyld_cache_image :dyld_kernel_image_info_t;
+ no_cache :boolean_t;
+ private_cache :boolean_t);
+
+routine task_register_dyld_set_dyld_state(
+ task :task_t;
+ dyld_state :uint8_t);
+
+routine task_register_dyld_get_process_state(
+ task :task_t;
+ out dyld_process_state :dyld_kernel_process_info_t);
+
+routine task_map_corpse_info_64(
+ task :task_t;
+ corspe_task :task_read_t;
+ out kcd_addr_begin :mach_vm_address_t;
+ out kcd_size :mach_vm_size_t);
+
+routine task_inspect(
+ task : task_inspect_t;
+ flavor : task_inspect_flavor_t;
+ out info_out : task_inspect_info_t, CountInOut);
+
+routine task_get_exc_guard_behavior(
+ task : task_inspect_t;
+ out behavior : task_exc_guard_behavior_t);
+
+routine task_set_exc_guard_behavior(
+ task : task_t;
+ behavior : task_exc_guard_behavior_t);
+
+routine task_create_suid_cred(
+ task : task_t;
+ path : suid_cred_path_t;
+ uid : suid_cred_uid_t;
+ out delegation : suid_cred_t);
+
+#if KERNEL || (!KERNEL && !LIBSYSCALL_INTERFACE)
+routine PREFIX(mach_task_is_self)(
+ task : task_name_t;
+ out is_self : boolean_t);
+#else
+ /* Do not generate header, use the one in mach_init.h */
+ skip;
+#endif
+
+routine task_dyld_process_info_notify_register(
+ target_task : task_read_t;
+ notify : mach_port_make_send_t);
+
+routine task_create_identity_token(
+ task : task_t;
+ out token : task_id_token_t);
+
+routine task_identity_token_get_task_port(
+ token : task_id_token_t;
+ flavor : task_flavor_t;
+ out task_port: mach_port_t);
+
+routine task_dyld_process_info_notify_deregister(
+ target_task : task_read_t;
+ notify : mach_port_name_t);
+
+routine task_get_exception_ports_info(
+ port : mach_port_t;
+ exception_mask : exception_mask_t;
+ out masks : exception_mask_array_t;
+ out old_handlers_info : exception_handler_info_array_t, SameCount;
+ out old_behaviors : exception_behavior_array_t, SameCount;
+ out old_flavors : exception_flavor_array_t, SameCount);
+