1#![cfg_attr(feature = "std", doc = include_str!("../README.md"))]
2#![cfg_attr(not(feature = "std"), no_std)]
3#![cfg_attr(all(target_os = "wasi", target_env = "p2"), feature(wasip2))]
4
5#[doc = include_str!("../README.md")]
6#[cfg(all(doctest, feature = "std"))]
7pub struct ReadmeDoctests;
8
9extern crate alloc;
10
11mod no_std_compat {
12 #[allow(unused_imports)]
13 pub use alloc::{
14 boxed::Box,
15 string::{String, ToString},
16 vec,
17 vec::Vec,
18 };
19}
20
21#[macro_use]
22mod common;
23#[cfg(all(not(target_family = "wasm"), any(windows, unix)))]
24mod native;
25#[cfg(all(not(target_family = "wasm"), any(windows, unix)))]
26mod platform;
27mod typed;
28mod unix;
29#[cfg(all(feature = "std", not(target_family = "wasm")))]
30pub mod utils;
31mod windows;
32
33mod private {
34 pub trait Sealed {}
36}
37
38pub use common::*;
39#[cfg(all(not(target_family = "wasm"), any(windows, unix)))]
40pub use native::*;
41#[cfg(all(not(target_family = "wasm"), any(windows, unix)))]
42pub use platform::*;
43pub use typed::*;
44pub use unix::*;
45pub use windows::*;
46
47pub mod constants {
49 use super::unix::constants as unix_constants;
50 use super::windows::constants as windows_constants;
51
52 pub mod unix {
54 pub use super::unix_constants::*;
55 }
56
57 pub mod windows {
59 pub use super::windows_constants::*;
60 }
61}