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