#![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 restore;
pub mod socket;
pub mod vm;
pub use error::VZError;
pub use configuration::{
GenericPlatform, LinuxBootLoader, MacAuxiliaryStorage, MacHardwareModel, MacMachineIdentifier,
MacOSBootLoader, MacPlatform, Platform, VirtualMachineConfiguration,
};
pub use device::{
DirectoryShare, EntropyDeviceConfiguration, LinuxRosettaDirectoryShare,
MacGraphicsDeviceConfiguration, MemoryBalloonDevice, MemoryBalloonDeviceConfiguration,
MultipleDirectoryShare, NetworkDeviceConfiguration, RosettaAvailability,
SerialPortConfiguration, SharedDirectory, SingleDirectoryShare, SocketDeviceConfiguration,
StorageDeviceConfiguration, VirtioFileSystemDeviceConfiguration,
};
pub use socket::{VirtioSocketConnection, VirtioSocketDevice, VirtioSocketListener};
pub use restore::{MacOSConfigurationRequirements, MacOSInstaller, MacOSRestoreImage};
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()
}