hadris-iso 0.0.1

A rust implementation of the ISO-9660 filesystem.
Documentation

ISO-RS (iso9660-rs)

A rust implementation of the ISO-9660 filesystem. Currently there are a few limitations:

  • Only supports spec compliant filesystems, and no extensions.
  • Sector size has to be 2KiB (2048 bytes), this is the common size, and should be supported by most filesystems.

This project also contains the specification for the ISO-9660 filesystem, which is a work in progress.

Current Progress

  • Parsing of the ISO-9660 filesystem
    • Parsing of the primary volume descriptor
    • Parsing of the volume descriptor list
    • Parsing of the path table
    • Parsing of the root directory
    • Parsing of the directory records
  • Writing of the ISO-9660 filesystem
    • Basic support for writing ISO-9660 filesystems (only to the root directory, but arbituary size)
    • Support for writing to root directory bigger than 1 sector
    • Support for writing to the path table
    • Support for writing directories
    • Support for writing files in non-root directories
  • Support for El Torito booting
    • Support for parsing El Torito Boot Records
    • Support for loading Boot files
  • Testing
    • Tests for reading basic structures
    • Tests for writing basic structures
    • Tests for reading and writing to the root directory
    • Tests for writing to the path table
    • Tests for writing directories
    • Tests for writing files in non-root directories

Other future goals: Improve API to allow for more flexibility from users