Module: Iso9660Probe

Defined in:
lib/fs/MiqFS/modules/Iso9660Probe.rb

Constant Summary collapse

ISO9660FS_SUPER_OFFSET =
32768
ISO9660FS_MAGIC_OFFSET =
1
ISO9660FS_MAGIC_SIZE =
5
ISO9660FS_MAGIC =
"CD001".freeze

Class Method Summary collapse

Class Method Details

.probe(dobj) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
# File 'lib/fs/MiqFS/modules/Iso9660Probe.rb', line 7

def self.probe(dobj)
  return false unless dobj.kind_of?(MiqDisk)

  # Assume ISO9660 - read magic at offset.
  dobj.seek(ISO9660FS_SUPER_OFFSET + ISO9660FS_MAGIC_OFFSET)
  magic = dobj.read(ISO9660FS_MAGIC_SIZE)
  return true if magic == ISO9660FS_MAGIC

  # Not ISO9660.
  false
end