diff options
author | Matthew Schauer <matthew.schauer@e10x.net> | 2022-10-28 09:50:28 -0700 |
---|---|---|
committer | Matthew Schauer <matthew.schauer@e10x.net> | 2022-10-31 07:22:10 -0700 |
commit | 511e1b910f8c332c0078bef3ae67da7ddbf85a01 (patch) | |
tree | 42402d92bf47714abfa3e56b8caecb34f861de5a /readme.md | |
parent | 5c533ae5237fddeab8c9e9da000d123c9aab46f3 (diff) |
Add Cargo metadata and readme for publishing crate
Diffstat (limited to 'readme.md')
-rw-r--r-- | readme.md | 22 |
1 files changed, 21 insertions, 1 deletions
@@ -1 +1,21 @@ -==== UNDER CONSTRUCTION ==== +# squashfs-ng-rs + +This library wraps the [squashfs-tools-ng](https://github.com/AgentD/squashfs-tools-ng) libraries, providing tools for reading and writing SquashFS archives. It aims to provide safe high-level abstractions over the lower-level interface provided by the underlying library. + + // Create an archive from a file hierarchy on disk + use squashfs::write::TreeProcessor; + TreeProcessor::new("archive.sfs")?.process("/path/to/directory")?; + + // Read the contents of a file from an archive + use squashfs::read::Archive; + let archive = Archive::open("archive.sfs")?; + match archive.get("/etc/passwd")? { + None => println!("File not present"), + Some(node) => if let Data::File(file) = node.data()? { + println!("{}", file.to_string()?); + }, + } + +Squashfs-tools-ng must be installed to build or use this library -- for example, [squashfs-tools-ng](https://aur.archlinux.org/packages/squashfs-tools-ng) in the AUR for Arch Linux. + +**See [the API documentation](http://docs.rs/squashfs-ng) for more.** |