xdvdfs-core
is a library for working with XDVDFS metadata.
A simple example reading a file from a given path is:
```rust fn readfrompath(xiso: &Path, filepath: &str) -> Box<[u8]> { let mut xiso = std::fs::File::open(xiso).unwrap(); let volume = xdvdfs::read::readvolume(&mut xiso).unwrap();
let file_dirent = volume.root_table.walk_path(&mut xiso, file_path).unwrap();
let data = file_dirent.node.dirent.read_data_all(&mut xiso);
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.