1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
#![doc = include_str!("../README.md")]
#![cfg_attr(feature = "doc_cfg", feature(doc_cfg))]
mod platform_check;
// TODO(2.1.0) inspect panic points
#[macro_use]
mod macros;
pub mod bound_util;
pub mod error;
pub mod local_socket;
pub mod unnamed_pipe;
/// Platform-specific functionality for various interprocess communication primitives.
///
/// This module houses two modules: `unix` and `windows`, although only one at a time will be
/// visible, depending on which platform the documentation was built on. If you're using
/// [Docs.rs](https://docs.rs/interprocess/latest/interprocess), you can view the documentation for
/// Windows, macOS, Linux and FreeBSD using the Platform menu on the Docs.rs-specific header bar at
/// the top of the page. Docs.rs builds also have the nightly-only `doc_cfg` feature enabled by
/// default, with which everything platform-specific has a badge next to it which specifies the
/// `cfg(...)` conditions for that item to be available.
pub mod os {
#[cfg(unix)]
#[cfg_attr(feature = "doc_cfg", doc(cfg(unix)))]
pub mod unix;
#[cfg(windows)]
#[cfg_attr(feature = "doc_cfg", doc(cfg(windows)))]
pub mod windows;
}
mod try_clone;
pub use try_clone::*;
mod atomic_enum;
mod misc;
pub(crate) use {atomic_enum::*, misc::*};
#[cfg(test)]
#[path = "../tests/index.rs"]
#[allow(
clippy::unwrap_used,
clippy::arithmetic_side_effects,
clippy::indexing_slicing
)]
mod tests;