Expand description
§use-archive
Feature-gated facade crate for RustUse archive primitives.
This crate re-exports focused archive vocabulary crates from the use-archive workspace. It is intentionally primitive-only: it describes archive formats, compression codecs, entry metadata, manifests, paths, and policies, but does not read, write, extract, compress, decompress, decrypt, or mount archive data.
§Example
use use_archive::{
ArchiveEncoding, ArchiveEntry, ArchiveEntryKind, ArchiveFormat, ArchiveManifest,
ArchivePolicy, CompressionFormat, is_safe_relative_archive_path,
};
let encoding = ArchiveEncoding::from_extension("release.tar.zst");
assert_eq!(encoding.archive, ArchiveFormat::Tar);
assert_eq!(encoding.compression, CompressionFormat::Zstd);
assert!(is_safe_relative_archive_path("docs/readme.md"));
let policy = ArchivePolicy::strict();
assert!(!policy.allow_symlinks);
let manifest = ArchiveManifest::new(encoding).with_entries(vec![
ArchiveEntry::new("docs/readme.md", ArchiveEntryKind::File).with_size(128),
]);
assert_eq!(manifest.file_count(), 1);Thin facade for primitive archive vocabulary crates.
Re-exports§
pub use use_7z as seven_zip;pub use use_ar as ar;pub use use_archive_entry as entry;pub use use_archive_format as format;pub use use_archive_manifest as manifest;pub use use_archive_path as path;pub use use_archive_policy as policy;pub use use_brotli as brotli;pub use use_bzip2 as bzip2;pub use use_cab as cab;pub use use_compression as compression;pub use use_cpio as cpio;pub use use_gzip as gzip;pub use use_iso as iso;pub use use_lz4 as lz4;pub use use_mtree as mtree;pub use use_rar as rar;pub use use_tar as tar;pub use use_warc as warc;pub use use_xz as xz;pub use use_zip as zip;pub use use_zstd as zstd;
Modules§
- prelude
- Common archive primitive re-exports.
Structs§
- Archive
Encoding - Archive container plus outer compression wrapper.
- Archive
Entry - Generic archive entry metadata.
- Archive
Manifest - A normalized listing of archive entries.
- Archive
Policy - Policy primitives for safe extraction planning.
- Compression
Settings - Generic compression settings metadata.
- Gzip
Options - Gzip option metadata.
- XzOptions
- XZ option metadata.
- Zstd
Options - Zstd option metadata.
Enums§
- ArEntry
Kind - Unix
arentry kind labels. - ArFormat
- Unix
arformat labels. - Archive
Entry Kind - Generic archive entry kinds.
- Archive
Format - Archive container formats.
- Archive
Path Issue - Issues found in an archive-internal path.
- Archive
Policy Issue - Policy violations detected for archive entries or entry lists.
- Brotli
Extension - Brotli extension labels.
- Brotli
Level - Brotli compression level labels.
- Brotli
Profile - High-level Brotli usage profile.
- Bzip2
Extension - Bzip2 extension labels.
- Bzip2
Level - Bzip2 compression level labels.
- Bzip2
Profile - High-level bzip2 usage profile.
- CabCompression
Method - CAB compression method labels.
- CabFormat
- Microsoft Cabinet format labels.
- Compression
Format - Compression codecs commonly wrapped around archive payloads.
- Compression
Intent - Intent behind a compression choice.
- Compression
Level - Generic compression level labels.
- Cpio
Entry Kind - CPIO entry kind labels.
- Cpio
Format - CPIO format variant labels.
- Gzip
Header Mode - Metadata strategy for gzip headers.
- IsoFormat
- ISO image format labels.
- IsoVolume
Kind - ISO volume kind labels.
- Lz4Extension
- LZ4 extension labels.
- Lz4Frame
Kind - LZ4 frame kind labels.
- Lz4Profile
- High-level LZ4 usage profile.
- Mtree
Entry Kind - mtree entry kind labels.
- Mtree
Format - mtree dialect labels.
- Mtree
Keyword - mtree keyword labels.
- RarVersion
- RAR version labels.
- RarVolume
Kind - RAR volume kind labels.
- Seven
ZipCompression Method - 7-Zip compression method labels.
- Seven
ZipFormat - 7-Zip archive format labels.
- TarEntry
Type - Tar entry type labels.
- Warc
Format - Web archive format labels.
- Warc
Record Kind - WARC record kind labels.
- XzCheck
Type - XZ integrity check labels.
- ZipCompression
Method - ZIP compression methods.
- Zstd
Frame Kind - Zstd frame shape labels.
Constants§
- ARC_
EXTENSION - Common ARC extension.
- ARC_
GZIP_ EXTENSION - Common gzip-compressed ARC extension.
- AR_
EXTENSION - Common Unix ar extension.
- AR_
EXTENSIONS - Common ar-related extensions.
- AR_
STATIC_ LIBRARY_ EXTENSION - Common static-library archive extension.
- BROTLI_
EXTENSION - Common Brotli file extension.
- BROTLI_
EXTENSIONS - Common Brotli-related extensions.
- BZIP2_
EXTENSION - Common bzip2 file extension.
- BZIP2_
EXTENSIONS - Common bzip2-related extensions.
- CAB_
EXTENSION - Common Microsoft Cabinet archive extension.
- CAB_
EXTENSIONS - Common CAB-related extensions.
- CPIO_
EXTENSION - Common CPIO file extension.
- CPIO_
EXTENSIONS - Common CPIO-related extensions.
- CPIO_
GZIP_ EXTENSION - Common gzip-compressed CPIO extension.
- CPIO_
XZ_ EXTENSION - Common xz-compressed CPIO extension.
- CPIO_
ZSTD_ EXTENSION - Common zstd-compressed CPIO extension.
- DEBIAN_
PACKAGE_ EXTENSION - Common Debian package extension backed by ar containers.
- GZIP_
ENCODING_ LABEL - Common HTTP content-encoding label for gzip.
- GZIP_
EXTENSION - Common gzip file extension.
- GZIP_
EXTENSIONS - Common gzip-related extensions.
- GZIP_
MEDIA_ TYPE - Common gzip media type.
- IMAGE_
EXTENSION - Common disk image extension used for ISO-like artifacts.
- ISO_
EXTENSION - Common ISO image extension.
- ISO_
EXTENSIONS - Common ISO-related extensions.
- LZ4_
EXTENSION - Common LZ4 file extension.
- LZ4_
EXTENSIONS - Common LZ4-related extensions.
- LZMA_
LABEL - Common LZMA label.
- MTREE_
EXTENSION - Common mtree manifest extension.
- MTREE_
EXTENSIONS - Common mtree-related extensions.
- MTREE_
GZIP_ EXTENSION - Common gzip-compressed mtree manifest extension.
- RAR_
EXTENSION - Common RAR archive extension.
- RAR_
EXTENSIONS - Common RAR-related extensions.
- RAR_
OLD_ PART_ EXTENSION - Common old-style RAR multipart extension.
- RAR_
PART1_ EXTENSION - Common new-style RAR multipart filename extension.
- SEVEN_
ZIP_ EXTENSION - Common 7-Zip archive extension.
- SEVEN_
ZIP_ EXTENSIONS - Common 7-Zip-related extensions.
- SEVEN_
ZIP_ FIRST_ VOLUME_ EXTENSION - Common first split-volume 7-Zip extension.
- TAR_
BROTLI_ EXTENSION - Common Brotli-compressed tar extension.
- TAR_
BZIP2_ EXTENSION - Common bzip2-compressed tar extension.
- TAR_
EXTENSION - Common tar file extension.
- TAR_
GZIP_ EXTENSION - Common gzip-compressed tar extension.
- TAR_
LZ4_ EXTENSION - Common LZ4-compressed tar extension.
- TAR_
XZ_ EXTENSION - Common xz-compressed tar extension.
- TAR_
ZSTD_ EXTENSION - Common zstd-compressed tar extension.
- TBZ2_
EXTENSION - Common abbreviated bzip2-compressed tar extension.
- TBZ_
EXTENSION - Common abbreviated bzip2-compressed tar extension.
- WARC_
EXTENSION - Common WARC extension.
- WARC_
EXTENSIONS - Common WARC/ARC-related extensions.
- WARC_
GZIP_ EXTENSION - Common gzip-compressed WARC extension.
- XZ_
EXTENSION - Common xz file extension.
- XZ_
EXTENSIONS - Common xz-related extensions.
- ZIP_
EXTENSION - Common ZIP file extension.
- ZSTD_
EXTENSION - Common zstd file extension.
- ZSTD_
EXTENSIONS - Common zstd-related extensions.
- ZSTD_
LABEL - Common Zstandard label.
Functions§
- archive_
path_ issues - Returns all detected safety issues for an archive-internal path.
- is_
7z_ extension - Returns whether
extensionis a known 7-Zip extension label. - is_
7z_ filename - Returns whether
namehas a known 7-Zip filename encoding. - is_
ar_ extension - Returns whether
extensionis a known ar extension label. - is_
ar_ filename - Returns whether
namehas a known ar filename encoding. - is_
brotli_ extension - Returns whether
extensionis a known Brotli extension label. - is_
brotli_ filename - Returns whether
namehas a known Brotli filename encoding. - is_
bzip2_ extension - Returns whether
extensionis a known bzip2 extension label. - is_
bzip2_ filename - Returns whether
namehas a known bzip2 filename encoding. - is_
cab_ extension - Returns whether
extensionis a known CAB extension label. - is_
cab_ filename - Returns whether
namehas a known CAB filename encoding. - is_
cpio_ extension - Returns whether
extensionis a known CPIO extension label. - is_
cpio_ filename - Returns whether
namehas a known CPIO filename encoding. - is_
iso_ extension - Returns whether
extensionis a known ISO image extension label. - is_
iso_ filename - Returns whether
namehas a known ISO image filename encoding. - is_
lz4_ extension - Returns whether
extensionis a known LZ4 extension label. - is_
lz4_ filename - Returns whether
namehas a known LZ4 filename encoding. - is_
mtree_ extension - Returns whether
extensionis a known mtree extension label. - is_
mtree_ filename - Returns whether
namehas a known mtree filename encoding. - is_
rar_ extension - Returns whether
extensionis a known RAR extension label. - is_
rar_ filename - Returns whether
namehas a known RAR filename encoding. - is_
safe_ relative_ archive_ path - Returns whether an archive-internal path is safe and relative.
- is_
warc_ extension - Returns whether
extensionis a known WARC/ARC extension label. - is_
warc_ filename - Returns whether
namehas a known WARC/ARC filename encoding.