1 unstable release

Uses new Rust 2024

0.1.0 Mar 14, 2025

#518 in Filesystem

Download history 122/week @ 2025-03-12

122 downloads per month

MIT license

90KB
1.5K SLoC

exFAT

exFAT filesystem formatting in Rust.

Usage

use exfat_fs::{
    MB,
    format::{Exfat, FormatVolumeOptionsBuilder, Label},
};

let size: u64 = 32 * MB as u64;
let hello_label = Label::new("Hello".to_string()).unwrap();

let format_options = FormatVolumeOptionsBuilder::default()
    .pack_bitmap(false)
    .full_format(false)
    .dev_size(size)
    .label(hello_label)
    .bytes_per_sector(512)
    .build()
    .unwrap();

let mut formatter = Exfat::try_from(format_options).unwrap();
formatter.write(&mut file).unwrap();

lib.rs:

exFAT-fs

exFAT filesystem implementation in Rust.

Usage

use exfat_fs::{
   MB,
   format::{Exfat, FormatVolumeOptionsBuilder, Label},
};

let size: u64 = 32 * MB as u64;
let hello_label = Label::new("Hello".to_string()).unwrap();

let format_options = FormatVolumeOptionsBuilder::default()
    .pack_bitmap(false)
    .full_format(false)
    .dev_size(size)
    .label(hello_label)
    .bytes_per_sector(512)
    .build()
    .unwrap();

let mut formatter = Exfat::try_from(format_options).unwrap();




formatter.write(&mut file).unwrap();

Limitations

Currently, the crate can only be used to format, but not read/write to the fs. no-std support is also a work-in-progress.

Dependencies

~1–1.5MB
~30K SLoC