#fat32 #file #systems #write #structures #environments

no-std hadris-fat

A library for working with FAT32 file systems, a standalone crate included in the hadris project

1 unstable release

new 0.1.0 Feb 13, 2025

#570 in Filesystem


Used in hadris

MIT license

80KB
1.5K SLoC

Fat32 File System

This crate provides a FAT32 file system implementation.

Usage

Add this to your Cargo.toml:

[dependencies]
fat = { version = "0.1" }

Features

write

Enables writing to the file system. This is enabled by default.

For no-std environments, this feature is gated behind the std feature.

Roadmap

  • Add basic support for writing to FAT32
  • Add basic support for reading from FAT32
  • Add support for big endian, because we currently just reinterpret the bytes as little endian
  • Have different types of writes, bytemuck is not enough, and gate behind a feature for bytemuck
  • Add support for writing to FAT12 and FAT16

lib.rs:

A library for working with FAT32 file systems Supports reading and writing to FAT32 file systems, with no-std support

When used with no features, the crate act as a place for providing the structures used in the FAT32 file system.

Cargo Features

  • alloc: Enables the 'alloc' feature, which allows for dynamic allocation of memory
  • std: Enables the 'std' feature, which requires an 'std' environment
  • read: Enables the 'read' feature, which allows for reading from FAT32 file systems
  • write: Enables the 'write' feature, which allows for writing to FAT32 file systems
  • lfn: Enables the 'lfn' feature, which allows for reading and writing long file names, which is an optional extension to the FAT32 specification

Dependencies

~0.5–1MB
~21K SLoC