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
#![warn(rust_2018_idioms)]
#![allow(unused_macros)]
#![allow(clippy::missing_safety_doc)]
#![allow(clippy::useless_conversion)]

#[macro_use]
mod macros;

#[macro_use]
extern crate log;

mod arch;
pub mod consts;
#[cfg(target_os = "linux")]
pub mod linux;
#[cfg(target_os = "linux")]
pub use linux as os;
#[cfg(target_os = "macos")]
pub mod macos;
#[cfg(target_os = "macos")]
pub use macos as os;
mod hypercall;
pub mod mem;
pub mod paging;
pub mod params;
#[cfg(target_os = "linux")]
pub mod shared_queue;
mod vcpu;
pub mod virtio;
pub mod virtqueue;
pub mod vm;

pub use arch::*;
pub use os::HypervisorError;
pub type HypervisorResult<T> = Result<T, HypervisorError>;