#![cfg(target_os = "macos")]
#![warn(missing_docs)]
#![allow(clippy::ptr_as_ptr)]
#![allow(clippy::ptr_cast_constness)]
#![allow(clippy::ref_as_ptr)]
#![allow(clippy::borrow_as_ptr)]
#![allow(clippy::unnecessary_cast)]
#![allow(clippy::type_complexity)]
#![allow(clippy::collapsible_if)]
#![allow(clippy::map_unwrap_or)]
#![allow(clippy::future_not_send)]
pub mod error;
pub mod ffi;
pub mod configuration;
pub(crate) mod delegate;
pub mod device;
pub mod socket;
pub mod vm;
pub use error::VZError;
pub use configuration::{GenericPlatform, LinuxBootLoader, Platform, VirtualMachineConfiguration};
pub use device::{
DirectoryShare, EntropyDeviceConfiguration, LinuxRosettaDirectoryShare, MemoryBalloonDevice,
MemoryBalloonDeviceConfiguration, MultipleDirectoryShare, NetworkDeviceConfiguration,
RosettaAvailability, SerialPortConfiguration, SharedDirectory, SingleDirectoryShare,
SocketDeviceConfiguration, StorageDeviceConfiguration, VirtioFileSystemDeviceConfiguration,
};
pub use socket::{VirtioSocketConnection, VirtioSocketDevice, VirtioSocketListener};
pub use vm::{VirtualMachine, VirtualMachineState};
#[must_use]
pub fn is_supported() -> bool {
ffi::is_supported()
}
#[must_use]
pub fn min_cpu_count() -> u64 {
ffi::min_cpu_count()
}
#[must_use]
pub fn max_cpu_count() -> u64 {
ffi::max_cpu_count()
}
#[must_use]
pub fn min_memory_size() -> u64 {
ffi::min_memory_size()
}
#[must_use]
pub fn max_memory_size() -> u64 {
ffi::max_memory_size()
}