udffs

package
v0.5.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 29, 2026 License: MIT Imports: 9 Imported by: 0

Documentation

Overview

Package udffs implements a minimal read-only UDF (Universal Disk Format) reader over an io.ReaderAt, targeting the common ECMA-167 layout used by optical media and their ISO images: 2048-byte blocks, a single partition, File Entries and Extended File Entries with short/long/in-ICB allocation.

It resolves the Anchor Volume Descriptor, walks the Volume Descriptor Sequence to find the partition and File Set Descriptor, and reads files and directories through File Identifier Descriptors. Names use the OSTA dstring compression IDs 8 (8-bit) and 16 (UTF-16 BE).

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Detect

func Detect(ra io.ReaderAt, start int64) bool

Detect reports whether ra contains a UDF filesystem starting at absolute offset start.

Types

type FS

type FS struct {
	// contains filtered or unexported fields
}

FS is a read-only UDF filesystem. Paths use the io/fs convention: "." is the root and nested paths are slash-relative without a leading slash. It is safe for concurrent use.

func Open

func Open(ra io.ReaderAt, start int64) (*FS, error)

Open parses the UDF volume starting at absolute byte offset start in ra.

func (*FS) Close

func (f *FS) Close() error

Close releases no resources.

func (*FS) Open

func (f *FS) Open(path string) (fs.File, error)

Open opens a path for reading.

func (*FS) ReadDir

func (f *FS) ReadDir(path string) ([]fs.DirEntry, error)

ReadDir lists the immediate children of a directory.

func (f *FS) Readlink(path string) (string, error)

Readlink returns the target of a symlink.

func (*FS) Stat

func (f *FS) Stat(path string) (fs.FileInfo, error)

Stat returns metadata for path using lstat semantics (symlinks are not followed).

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL