Skip to main content

native_ipc_platform/
lib.rs

1//! Platform capability and mapping implementations.
2//!
3//! macOS, Linux, and Windows adapters implement private authenticated bootstrap,
4//! least-authority shared-memory transfer, and owned helper lifecycles.
5
6#[cfg(not(any(
7    all(
8        target_os = "linux",
9        any(target_arch = "aarch64", target_arch = "x86_64")
10    ),
11    all(
12        target_os = "windows",
13        any(target_arch = "aarch64", target_arch = "x86_64")
14    ),
15    all(target_os = "macos", target_arch = "aarch64")
16)))]
17compile_error!(
18    "native-ipc-platform supports Linux and Windows on aarch64/x86_64, and macOS on aarch64"
19);
20
21#[cfg(target_os = "linux")]
22pub mod linux;
23#[cfg(target_os = "macos")]
24pub mod macos;
25#[cfg(target_os = "windows")]
26pub mod windows;
27
28/// Status of an operating-system transport backend.
29#[derive(Clone, Copy, Debug, Eq, PartialEq)]
30pub enum BackendStatus {
31    /// The backend enforces its documented capability policy.
32    Available,
33    /// The backend is deliberately unavailable rather than offering weaker behavior.
34    Incomplete(&'static str),
35}