#![forbid(unsafe_code)]
#![warn(missing_docs)]
#![allow(clippy::doc_markdown)]
#![allow(clippy::cast_possible_truncation)]
#![allow(clippy::disallowed_methods, clippy::disallowed_types)]
pub mod atomic;
pub mod dirty;
pub mod envelope;
pub mod error;
pub mod load;
pub mod memory;
pub mod save;
pub mod state;
pub mod vcpu_save;
pub use atomic::{
AtomicWriter, TEMP_SUFFIX, UnlinkOnDrop, check_same_filesystem, derive_temp_path,
};
pub use dirty::{
ADAPTIVE_WINDOW, AdaptiveController, DEFAULT_STEP_DOWN_THRESHOLD, DirtyBitmap, TrackedRegion,
TrackingGranule,
};
pub use envelope::{
Crc64Writer, SNAPSHOT_DESERIALIZATION_BYTES_LIMIT, SNAPSHOT_MAGIC_AARCH64, SNAPSHOT_VERSION,
Snapshot, SnapshotHdr, arch_magic,
};
pub use error::{Result, SnapshotError};
pub use load::{LoadedSnapshot, SnapshotDescription, describe, load};
pub use memory::{MemorySnapshotKind, MemoryWriter, PageReader, VecPageReader};
pub use save::{SaveReport, SaveRequest, SnapshotKind, save};
pub use state::{
DeviceState, DeviceStates, FpSimdRegs, GicState, GpRegs, MicrovmState, MmdsState,
PsciVcpuState, VcpuState, VmInfo,
};
pub use vcpu_save::{
GicRestoreTarget, GicSnapshotSource, MmdsRestoreTarget, MmdsSnapshotSource, VcpuRestoreTarget,
VcpuSnapshotSource, capture_vcpu_state, normalized_psci_state, restore_vcpu_state,
};