Revision control
Copy as Markdown
Other Tools
//! This module corresponds to `mach/mach_port.h`
use kern_return::kern_return_t;
use mach_types::ipc_space_t;
use message::mach_msg_type_name_t;
use port::{mach_port_delta_t, mach_port_name_t, mach_port_right_t, mach_port_t};
extern "C" {
pub fn mach_port_allocate(
task: ipc_space_t,
right: mach_port_right_t,
name: *mut mach_port_name_t,
) -> kern_return_t;
pub fn mach_port_destroy(task: ipc_space_t, name: mach_port_name_t) -> kern_return_t;
pub fn mach_port_deallocate(task: ipc_space_t, name: mach_port_name_t) -> kern_return_t;
pub fn 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_t;
pub fn 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_t;
pub fn mach_port_mod_refs(
task: ipc_space_t,
name: mach_port_name_t,
right: mach_port_right_t,
delta: mach_port_delta_t,
) -> kern_return_t;
}