kpea

Crates.iokpea
lib.rskpea
version0.2.4
sourcesrc
created_at2024-11-17 20:44:24.768018
updated_at2024-12-09 06:10:26.322548
descriptionCPIO archive reader/writer library. Supports New ASCII and Old character formats. Fuzz-tested against GNU cpio.
homepagehttps://github.com/igankevich/kpea
repositoryhttps://github.com/igankevich/kpea
max_upload_size
id1451539
size71,916
Ivan Gankevich (igankevich)

documentation

https://docs.rs/kpea

README

kpea

Crates.io Version Docs dependency status

CPIO archive reader/writer library. Supports New ASCII, New CRC, Old character, and New binary formats.

Introduction

kpea is a library that offers Archive and Builder types that unpack/pack CPIO archives. The library is fuzz-tested against GNU cpio.

Adding as a dependency

To import kpea as cpio use the following syntax.

[dependencies]
cpio = { package = "kpea", version = "0.1.0" }

Example

use kpea as cpio; // not needed if you added dependency as `cpio`
use std::fs::File;
use std::io::Error;

fn create_archive() -> Result<(), Error> {
    let file = File::create("archive.cpio")?;
    let mut builder = cpio::Builder::new(file);
    builder.append_path("/etc/passwd", "passwd")?;
    builder.append_path("/etc/group", "group")?;
    builder.finish()?;
    Ok(())
}

fn open_archive() -> Result<(), Error> {
    let file = File::open("archive.cpio")?;
    let mut archive = cpio::Archive::new(file);
    while let Some(mut entry) = archive.read_entry()? {
        println!("{:?}", entry.path);
    }
    Ok(())
}
Commit count: 7

cargo fmt