#![deny(missing_docs)]
mod acl_xattr;
mod callbacks;
mod entry;
mod error;
mod extract;
mod format;
mod locale;
mod match_filter;
mod read_disk;
mod reader;
mod writer;
pub use acl_xattr::{
AclEntry, AclPermissions, AclTag, AclType, EntryAclExt, EntryMutAclExt, Xattr,
};
pub use callbacks::{CallbackReader, CallbackWriter, ProgressCallback, ProgressTracker};
pub use entry::{Entry, EntryMut, FileType};
pub use error::{Error, Result};
pub use extract::{ExtractFlags, WriteDisk};
pub use format::{
ArchiveFormat, CompressionFormat, CompressionLevel, FilterOption, FormatOption, ReadFormat,
ZipCompressionMethod,
};
pub use match_filter::ArchiveMatch;
pub use read_disk::{ReadDisk, ReadDiskFlags, SymlinkMode};
pub use reader::ReadArchive;
pub use writer::WriteArchive;
pub fn version() -> String {
unsafe {
let ptr = libarchive2_sys::archive_version_string();
std::ffi::CStr::from_ptr(ptr).to_string_lossy().into_owned()
}
}
pub fn version_number() -> i32 {
unsafe { libarchive2_sys::archive_version_number() }
}
pub fn version_details() -> String {
unsafe {
let ptr = libarchive2_sys::archive_version_details();
std::ffi::CStr::from_ptr(ptr).to_string_lossy().into_owned()
}
}