std/sys/pal/
mod.rs

1//! The PAL (platform abstraction layer) contains platform-specific abstractions
2//! for implementing the features in the other submodules, such as e.g. bindings.
3
4#![allow(missing_debug_implementations)]
5
6cfg_select! {
7    unix => {
8        mod unix;
9        pub use self::unix::*;
10    }
11    windows => {
12        mod windows;
13        pub use self::windows::*;
14    }
15    target_os = "solid_asp3" => {
16        mod solid;
17        pub use self::solid::*;
18    }
19    target_os = "hermit" => {
20        mod hermit;
21        pub use self::hermit::*;
22    }
23    target_os = "motor" => {
24        mod motor;
25        pub use self::motor::*;
26    }
27    target_os = "trusty" => {
28        mod trusty;
29        pub use self::trusty::*;
30    }
31    target_os = "vexos" => {
32        mod vexos;
33        pub use self::vexos::*;
34    }
35    target_os = "wasi" => {
36        mod wasi;
37        pub use self::wasi::*;
38    }
39    target_family = "wasm" => {
40        mod wasm;
41        pub use self::wasm::*;
42    }
43    target_os = "xous" => {
44        mod xous;
45        pub use self::xous::*;
46    }
47    target_os = "uefi" => {
48        mod uefi;
49        pub use self::uefi::*;
50    }
51    all(target_vendor = "fortanix", target_env = "sgx") => {
52        mod sgx;
53        pub use self::sgx::*;
54    }
55    target_os = "teeos" => {
56        mod teeos;
57        pub use self::teeos::*;
58    }
59    target_os = "zkvm" => {
60        mod zkvm;
61        pub use self::zkvm::*;
62    }
63    _ => {
64        mod unsupported;
65        pub use self::unsupported::*;
66    }
67}