1#![deny(unsafe_code)]
22#![warn(missing_docs)]
23
24pub mod api;
25pub mod archive;
26pub mod config;
27pub(crate) mod copy;
28pub mod creation;
29pub mod error;
30pub mod formats;
31pub mod inspection;
32pub mod report;
33pub mod security;
34pub(crate) mod test_utils;
35pub mod types;
36
37pub use api::create_archive;
39pub use api::create_archive_with_progress;
40pub use api::extract_archive;
41pub use api::extract_archive_with_options;
42pub use api::extract_archive_with_options_and_progress;
43pub use api::extract_archive_with_progress;
44pub use api::list_archive;
45pub use api::verify_archive;
46pub use archive::Archive;
47pub use archive::ArchiveBuilder;
48pub use config::ExtractionOptions;
49pub use config::SecurityConfig;
50pub use config::Unvalidated;
51pub use config::Validated;
52pub use error::ArchiveError;
53pub use error::FfiErrorMessage;
54pub use error::IoContext;
55pub use error::QuotaResource;
56pub use error::Result;
57pub use error::redaction::format_entry_path_for_error;
60pub use error::redaction::sanitize_io_error_for_error;
63pub use error::redaction::sanitize_path_for_error;
66pub use report::ExtractionReport;
67pub use report::NoopProgress;
68pub use report::ProgressCallback;
69
70pub use creation::ArchiveCreator;
72pub use creation::CreationConfig;
73pub use creation::CreationReport;
74pub use formats::traits::FormatCreator;
75
76pub use inspection::ArchiveEntry;
78pub use inspection::ArchiveManifest;
79pub use inspection::CheckStatus;
80pub use inspection::IssueCategory;
81pub use inspection::IssueSeverity;
82pub use inspection::ManifestEntryType;
83pub use inspection::VerificationIssue;
84pub use inspection::VerificationReport;
85pub use inspection::VerificationStatus;
86
87pub use security::ValidationReport;
91pub use security::boundary::MAX_CONFIG_ENTRY_LENGTH;
95pub use security::boundary::MAX_PATH_LENGTH;
98pub use security::boundary::validate_config_entry;
101pub use security::boundary::validate_raw_path_str;
104
105pub use types::DestDir;
107pub use types::EntryType;
108pub use types::SafePath;
109pub use types::SafeSymlink;