1 // Copyright 2022 The ChromiumOS Authors 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 cfg_if::cfg_if! { 6 if #[cfg(any(target_os = "android", target_os = "linux"))] { 7 pub(crate) mod linux; 8 mod epoll_internal; 9 use linux as platform; 10 } else if #[cfg(any(target_os = "fuchsia",target_os = "windows", target_os = "macos", 11 target_os = "nto"))] { 12 pub(crate) mod stub; 13 use stub as platform; 14 } else { 15 compile_error!("Unsupported platform"); 16 } 17 } 18 19 pub use platform::channel; 20 pub use platform::channel_signal; 21 pub use platform::channel_wait; 22 pub use platform::descriptor_analysis; 23 pub use platform::read_volatile; 24 pub use platform::write_volatile; 25 pub use platform::Receiver; 26 pub use platform::Sender; 27 pub use platform::SystemStream; 28 pub use platform::WaitContext; 29