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 mod linux; 8 use linux as platform; 9 pub use platform::{VmMsyncRequest, VmMsyncResponse, FsMappingRequest}; 10 #[cfg(feature = "gpu")] 11 pub use platform::gpu::UnixDisplayMode as DisplayMode; 12 pub use platform::handle_request_with_timeout; 13 #[cfg(feature = "gpu")] 14 pub use platform::gpu::UnixMouseMode as MouseMode; 15 } else if #[cfg(windows)] { 16 pub mod windows; 17 pub use windows as platform; 18 #[cfg(feature = "gpu")] 19 pub type DisplayMode = platform::gpu::WinDisplayMode<platform::gpu::DisplayDataProvider>; 20 #[cfg(feature = "gpu")] 21 pub use platform::gpu::WinMouseMode as MouseMode; 22 } else { 23 compile_error!("Unsupported platform"); 24 } 25 } 26 27 pub use platform::handle_request; 28 pub use platform::prepare_shared_memory_region; 29 pub use platform::should_prepare_memory_region; 30