pub mod archive;
#[cfg(feature = "testing")]
pub mod conformance;
#[cfg(feature = "testing")]
mod container_conformance;
pub mod containment;
mod display;
pub mod error;
pub mod fidelity;
pub mod format;
pub mod governor;
#[cfg(any(test, feature = "testing"))]
mod honesty;
pub mod ladder;
pub mod probe;
pub mod registry;
pub mod salvage;
pub mod size;
pub mod source;
#[cfg(any(test, feature = "testing"))]
pub mod testing;
pub use archive::{
ArchiveRead, ArchiveWrite, Codec, Container, CreateOpts, DecodeOpts, EncodeOpts, Entry,
EntryKind, EntryMeta, OpenOpts, PlainSink, Sink,
};
pub use containment::{
NameRefusal, SymlinkVerdict, check_symlink_target, classify_symlink_target,
name_refused_by_filesystem, safe_join, windows_name_hazard,
};
pub use display::fmt_name;
pub use error::{Error, Result};
pub use fidelity::{Fidelity, FidelityReport, FidelitySink, MetaFields, Rung};
pub use format::{
CodecCaps, ConfirmFn, ContainerCaps, CorruptionDetection, FormatId, FormatKind, FormatMeta,
MagicRule,
};
pub use governor::{BudgetInputs, Governor, LeaseSet, default_memory_limit, resolve_workers};
pub use ladder::{Resolved, StreamPolicy, resolve};
pub use probe::{
Chain, Evidence, Foreign, PROBE_LEN, TAIL_LEN, chain_for_new_path, first_unconfirmed_layer,
foreign_from_tail, identify_strict, probe, read_tail, resolve_chain, resolve_chain_checked,
resolve_chain_deep, resolve_chain_deep_with,
};
pub use registry::{FormatRow, Registry};
pub use size::format_size;
pub use source::{
BorrowedSource, Counting, CountingWriter, DEFAULT_MAX_RATIO, FileSource, PeekSource,
RATIO_FLOOR, RatioGuard, ReaderSource, SeekRead, Source, SourceCaps, SpillPolicy, SpillSource,
SpillWriter, StreamOnly, decode_reader,
};
pub const VERSION: &str = env!("CARGO_PKG_VERSION");