1 //! This module corresponds to `mach/mach_port.h` 2 3 use kern_return::kern_return_t; 4 use mach_types::ipc_space_t; 5 use message::mach_msg_type_name_t; 6 use port::{mach_port_name_t, mach_port_right_t, mach_port_t}; 7 8 extern "C" { mach_port_allocate( task: ipc_space_t, right: mach_port_right_t, name: *mut mach_port_name_t, ) -> kern_return_t9 pub fn mach_port_allocate( 10 task: ipc_space_t, 11 right: mach_port_right_t, 12 name: *mut mach_port_name_t, 13 ) -> kern_return_t; mach_port_destroy(task: ipc_space_t, name: mach_port_name_t) -> kern_return_t14 pub fn mach_port_destroy(task: ipc_space_t, name: mach_port_name_t) -> kern_return_t; mach_port_deallocate(task: ipc_space_t, name: mach_port_name_t) -> kern_return_t15 pub fn mach_port_deallocate(task: ipc_space_t, name: mach_port_name_t) -> kern_return_t; mach_port_insert_right( task: ipc_space_t, name: mach_port_name_t, poly: mach_port_t, polyPoly: mach_msg_type_name_t, ) -> kern_return_t16 pub fn mach_port_insert_right( 17 task: ipc_space_t, 18 name: mach_port_name_t, 19 poly: mach_port_t, 20 polyPoly: mach_msg_type_name_t, 21 ) -> kern_return_t; mach_port_extract_right( task: ipc_space_t, name: mach_port_name_t, msgt_name: mach_msg_type_name_t, poly: *mut mach_port_t, polyPoly: *mut mach_msg_type_name_t, ) -> kern_return_t22 pub fn mach_port_extract_right( 23 task: ipc_space_t, 24 name: mach_port_name_t, 25 msgt_name: mach_msg_type_name_t, 26 poly: *mut mach_port_t, 27 polyPoly: *mut mach_msg_type_name_t, 28 ) -> kern_return_t; 29 } 30