1 //! This module corresponds to `mach/task.defs`. 2 3 use kern_return::kern_return_t; 4 use mach_types::{task_name_t, task_t, thread_act_array_t}; 5 use message::mach_msg_type_number_t; 6 use port::mach_port_t; 7 use task_info::{task_flavor_t, task_info_t}; 8 9 pub type task_special_port_t = ::libc::c_int; 10 11 pub const TASK_KERNEL_PORT: task_special_port_t = 1; 12 pub const TASK_HOST_PORT: task_special_port_t = 2; 13 pub const TASK_NAME_PORT: task_special_port_t = 3; 14 pub const TASK_BOOTSTRAP_PORT: task_special_port_t = 4; 15 16 extern "C" { task_resume(target_task: task_t) -> kern_return_t17 pub fn task_resume(target_task: task_t) -> kern_return_t; task_suspend(target_task: task_t) -> kern_return_t18 pub fn task_suspend(target_task: task_t) -> kern_return_t; task_get_special_port( task: task_t, which_port: task_special_port_t, special_port: *mut mach_port_t, ) -> kern_return_t19 pub fn task_get_special_port( 20 task: task_t, 21 which_port: task_special_port_t, 22 special_port: *mut mach_port_t, 23 ) -> kern_return_t; task_threads( target_task: task_t, act_list: *mut thread_act_array_t, act_list_cnt: *mut mach_msg_type_number_t, ) -> kern_return_t24 pub fn task_threads( 25 target_task: task_t, 26 act_list: *mut thread_act_array_t, 27 act_list_cnt: *mut mach_msg_type_number_t, 28 ) -> kern_return_t; task_info( target_task: task_name_t, flavor: task_flavor_t, task_info_out: task_info_t, task_info_outCnt: *mut mach_msg_type_number_t, ) -> kern_return_t29 pub fn task_info( 30 target_task: task_name_t, 31 flavor: task_flavor_t, 32 task_info_out: task_info_t, 33 task_info_outCnt: *mut mach_msg_type_number_t, 34 ) -> kern_return_t; task_set_info( target_task: task_t, flavor: task_flavor_t, task_info_in: task_info_t, task_info_inCnt: mach_msg_type_number_t, ) -> kern_return_t35 pub fn task_set_info( 36 target_task: task_t, 37 flavor: task_flavor_t, 38 task_info_in: task_info_t, 39 task_info_inCnt: mach_msg_type_number_t, 40 ) -> kern_return_t; 41 } 42