xdvdfs

Crates.ioxdvdfs
lib.rsxdvdfs
version0.8.3
sourcesrc
created_at2023-04-08 20:37:17.11932
updated_at2024-11-13 00:14:50.913424
descriptionLibrary for interacting with XISO/XDVDFS images
homepagehttps://github.com/antangelo/xdvdfs
repositoryhttps://github.com/antangelo/xdvdfs
max_upload_size
id833787
size102,592
(antangelo)

documentation

README

xdvdfs-core

xdvdfs-core is a library for working with XDVDFS metadata.

A simple example reading a file from a given path is:

async fn read_from_path(xiso: &Path, file_path: &str) -> Box<[u8]> {
    let mut xiso = std::fs::File::open(xiso).unwrap();
    let volume = xdvdfs::read::read_volume(&mut xiso).await.unwrap();

    let file_dirent = volume.root_table.walk_path(&mut xiso, file_path).await.unwrap();

    let data = file_dirent.node.dirent.read_data_all(&mut xiso).await.unwrap();
    data
}

This library supports no_std. Custom block devices can be defined by implementing the traits in xdvdfs::blockdev.

Without the alloc feature, only basic metadata features are supported. The alloc feature enables several utility functions that require allocation (such as read_data_all above.

The source code for xdvdfs-cli provides a more detailed example of how to use xdvdfs-core in an environment with std.

Note that xdvdfs is currently not API stable, and following semver with major version 0, each minor version bump may or may not include breaking changes.

Commit count: 88

cargo fmt