sevenz_rust2/
lib.rs

1//! This project is a 7z compressor/decompressor written in pure Rust.
2//!
3//! This is a fork of the original, unmaintained sevenz-rust crate to continue the development and maintenance.
4//!
5//! ## Supported Codecs & filters
6//!
7//! | Codec          | Decompression | Compression |
8//! |----------------|---------------|-------------|
9//! | COPY           | ✓             | ✓           |
10//! | LZMA           | ✓             | ✓           |
11//! | LZMA2          | ✓             | ✓           |
12//! | BROTLI (*)     | ✓             | ✓           |
13//! | BZIP2 (*)      | ✓             | ✓           |
14//! | DEFLATE (*)    | ✓             | ✓           |
15//! | LZ4 (*)        | ✓             | ✓           |
16//! | ZSTD (*)       | ✓             | ✓           |
17//!
18//! (*) Require optional cargo feature.
19//!
20//! | Filter        | Decompression | Compression |
21//! |---------------|---------------|-------------|
22//! | BCJ X86       | ✓             |             |
23//! | BCJ PPC       | ✓             |             |
24//! | BCJ IA64      | ✓             |             |
25//! | BCJ ARM       | ✓             |             |
26//! | BCJ ARM_THUMB | ✓             |             |
27//! | BCJ SPARC     | ✓             |             |
28//! | DELTA         | ✓             |             |
29//! | BCJ2          | ✓             |             |
30#![cfg_attr(docsrs, feature(doc_cfg))]
31
32#[cfg(target_arch = "wasm32")]
33extern crate wasm_bindgen;
34#[cfg(feature = "aes256")]
35mod aes256sha256;
36mod bcj;
37mod bcj2;
38#[cfg(feature = "brotli")]
39mod brotli;
40#[cfg(all(feature = "util", not(target_arch = "wasm32")))]
41mod de_funcs;
42mod delta;
43#[cfg(all(feature = "compress", feature = "util"))]
44mod en_funcs;
45#[cfg(feature = "compress")]
46mod encoders;
47mod error;
48mod method_options;
49mod password;
50mod reader;
51#[cfg(target_arch = "wasm32")]
52mod wasm;
53#[cfg(feature = "compress")]
54mod writer;
55
56#[cfg(feature = "aes256")]
57pub use aes256sha256::*;
58pub use archive::*;
59#[cfg(all(feature = "util", not(target_arch = "wasm32")))]
60pub use de_funcs::*;
61#[cfg(all(feature = "compress", feature = "util"))]
62pub use en_funcs::*;
63pub use error::Error;
64pub use lzma_rust2 as lzma;
65pub use method_options::*;
66pub use nt_time;
67pub use password::Password;
68pub use reader::{BlockDecoder, SevenZReader};
69#[cfg(feature = "compress")]
70pub use writer::*;
71pub(crate) mod archive;
72pub(crate) mod decoders;
73pub(crate) mod folder;