pub mod boot_code;
pub mod bootkit;
pub mod carve;
pub mod disk_signature;
pub mod ebr;
pub mod entropy;
pub mod findings;
pub mod gap;
pub mod gpt;
pub mod mbr;
pub mod partition;
pub mod provenance;
pub mod signature;
pub mod vbr;
pub mod wipe;
mod analyse;
mod diag;
pub use analyse::{analyse, analyse_with_options, AnalyseOptions};
pub use boot_code::BootCodeId;
pub use disk_signature::{find_signature_collisions, SignatureCollision};
pub use ebr::{EbrChain, EbrEntry};
pub use findings::{Anomaly, AnomalyKind, MbrAnalysis, PartitionSummary, Severity};
pub use gap::Gap;
pub use mbr::{parse_mbr_sector, MbrSector};
pub use partition::{Chs, PartitionEntry, PartitionFamily, TypeCode};
pub use provenance::{Alignment, PartitioningEra};
pub use signature::DetectedFs;
#[derive(Debug, thiserror::Error)]
pub enum Error {
#[error("sector too short: expected 512 bytes, got {0}")]
TooShort(usize),
#[error("invalid MBR boot signature: expected 0x55AA, got 0x{0:04X}")]
BadSignature(u16),
#[error("I/O error: {0}")]
Io(#[from] std::io::Error),
}