Skip to main content

native_ipc_platform/
lib.rs

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