Documentation
¶
Index ¶
- func Diagnose(path string) error
- func Probe(r io.ReaderAt) (bool, error)
- type Volume
- func (v *Volume) Label() string
- func (v *Volume) Open(filePath string) (fs.File, error)
- func (v *Volume) ReadDir(dirPath string) ([]fs.DirEntry, error)
- func (v *Volume) ReadFile(filePath string) ([]byte, error)
- func (v *Volume) Readlink(filePath string) (string, error)
- func (v *Volume) Stat(filePath string) (os.FileInfo, error)
- func (v *Volume) Type() string
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Diagnose ¶
Diagnose opens an ISO and walks the entire UDF chain, printing every intermediate value so broken offsets are immediately visible.
func Probe ¶
Probe scans the Volume Recognition Sequence for UDF presence. Returns true only if NSR02/NSR03 is found AND sector 256 contains a structurally valid Anchor Volume Descriptor Pointer (AVDP).
Two checks are required to avoid false positives on ISOs that carry the UDF VRS markers (BEA01/NSR02/TEA01) purely for compatibility — as oscdimg and several other tools do — but have no actual UDF filesystem:
- Tag ID at bytes [0:2] of sector 256 must be 2 (AVDP).
- Descriptor tag checksum (ECMA-167 7.2) must be valid: the sum of all 16 tag bytes with the checksum byte (offset 4) treated as 0 must equal the value stored at offset 4. Random ISO data will almost never satisfy this constraint.
Types ¶
Click to show internal directories.
Click to hide internal directories.