xref: /aosp_15_r20/external/crosvm/vm_control/src/sys.rs (revision bb4ee6a4ae7042d18b07a98463b9c8b875e44b39)
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::{VmMemoryMappingRequest, VmMemoryMappingResponse, FsMappingRequest};
10         #[cfg(feature = "gpu")]
11         pub use platform::gpu::UnixDisplayMode as DisplayMode;
12         #[cfg(feature = "gpu")]
13         pub use platform::gpu::UnixMouseMode as MouseMode;
14     } else if #[cfg(windows)] {
15         pub mod windows;
16         pub use windows as platform;
17         #[cfg(feature = "gpu")]
18         pub type DisplayMode = platform::gpu::WinDisplayMode<platform::gpu::DisplayDataProvider>;
19         #[cfg(feature = "gpu")]
20         pub use platform::gpu::WinMouseMode as MouseMode;
21         pub use platform::InitialAudioSessionState;
22     } else {
23         compile_error!("Unsupported platform");
24     }
25 }
26 
27 pub use platform::handle_request;
28 pub use platform::handle_request_with_timeout;
29 pub use platform::prepare_shared_memory_region;
30 pub use platform::should_prepare_memory_region;
31