Class PrimaryVolumeDescriptor

Primary or supplementary volume descriptor. Supplementary VDs are basically PVDs with some extra sauce, so we use the same struct for both.

Hierarchy (View Summary)

Constructors

  • Parameters

    • name: string = ...

      The name of the volume descriptor type, either 'ISO9660' or 'Joliet'.

    • ...args: [
          _buffer?: number
          | ArrayBufferLike
          | ArrayBufferView
          | ArrayLike<number>,
          _byteOffset?: number,
          _byteLength?: number,
      ]

    Returns PrimaryVolumeDescriptor

Properties

_decoder?: TextDecoder
"[toStringTag]": string
buffer: ArrayBufferLike
byteLength: number
byteOffset: number
name: string = ...

The name of the volume descriptor type, either 'ISO9660' or 'Joliet'.

Accessors

__padding__7: any
__padding__72: any
_abstractFileIdentifier: any
_applicationIdentifier: any
_bibliographicFileIdentifier: any
_copyrightFileIdentifier: any
_dataPreparerIdentifier: any
_locationOfOptionalTypeMPathTable: any
_locationOfTypeMPathTable: any
_logicalBlockSizeBE: any
_pathTableSizeBE: any
_publisherIdentifier: any
_root: any

Directory entry for the root directory. Note that this is not an LBA address, it is the actual Directory Record, which contains a single byte Directory Identifier (0x00), hence the fixed 34 byte size.

_systemIdentifier: any

The name of the system that can act upon sectors 0x00-0x0F for the volume.

_volumeIdentifier: any

Identification of this volume.

_volumeSequenceNumberBE: any
_volumeSetIdentifier: any
_volumeSetSizeBE: any
_volumeSpaceSizeBE: any
applicationUsed: any
escapeSequence: any

This is only used by Joliet

fileStructureVersion: any
locationOfOptionalTypeLPathTable: any

LBA location of the optional path table. The path table pointed to contains only little-endian values. Zero means that no optional path table exists.

locationOfTypeLPathTable: any

LBA location of the path table. The path table pointed to contains only little-endian values.

logicalBlockSize: any

The size in bytes of a logical block. NB: This means that a logical block on a CD could be something other than 2 KiB!

pathTableSize: any

The size in bytes of the path table.

reserved: any
standardIdentifier: any
  • get systemIdentifier(): string
  • The name of the system that can act upon sectors 0x00-0x0F for the volume.

    Returns string

type: any
version: any
volumeCreationDate: any
volumeEffectiveDate: any
volumeExpirationDate: any
volumeModificationDate: any
volumeSequenceNumber: any

The number of this disk in the Volume Set.

volumeSetSize: any

The size of the set in this logical volume (number of disks).

volumeSpaceSize: any

Number of Logical Blocks in which the volume is recorded.

Methods

  • Gets the BigInt64 value at the specified byte offset from the start of the view. There is no alignment constraint; multi-byte values may be fetched from any offset.

    Parameters

    • byteOffset: number

      The place in the buffer at which the value should be retrieved.

    • OptionallittleEndian: boolean

      If false or undefined, a big-endian value should be read.

    Returns bigint

  • Gets the BigUint64 value at the specified byte offset from the start of the view. There is no alignment constraint; multi-byte values may be fetched from any offset.

    Parameters

    • byteOffset: number

      The place in the buffer at which the value should be retrieved.

    • OptionallittleEndian: boolean

      If false or undefined, a big-endian value should be read.

    Returns bigint

  • Gets the Float32 value at the specified byte offset from the start of the view. There is no alignment constraint; multi-byte values may be fetched from any offset.

    Parameters

    • byteOffset: number

      The place in the buffer at which the value should be retrieved.

    • OptionallittleEndian: boolean

      If false or undefined, a big-endian value should be read.

    Returns number

  • Gets the Float64 value at the specified byte offset from the start of the view. There is no alignment constraint; multi-byte values may be fetched from any offset.

    Parameters

    • byteOffset: number

      The place in the buffer at which the value should be retrieved.

    • OptionallittleEndian: boolean

      If false or undefined, a big-endian value should be read.

    Returns number

  • Gets the Int16 value at the specified byte offset from the start of the view. There is no alignment constraint; multi-byte values may be fetched from any offset.

    Parameters

    • byteOffset: number

      The place in the buffer at which the value should be retrieved.

    • OptionallittleEndian: boolean

      If false or undefined, a big-endian value should be read.

    Returns number

  • Gets the Int32 value at the specified byte offset from the start of the view. There is no alignment constraint; multi-byte values may be fetched from any offset.

    Parameters

    • byteOffset: number

      The place in the buffer at which the value should be retrieved.

    • OptionallittleEndian: boolean

      If false or undefined, a big-endian value should be read.

    Returns number

  • Gets the Int8 value at the specified byte offset from the start of the view. There is no alignment constraint; multi-byte values may be fetched from any offset.

    Parameters

    • byteOffset: number

      The place in the buffer at which the value should be retrieved.

    Returns number

  • Gets the Uint16 value at the specified byte offset from the start of the view. There is no alignment constraint; multi-byte values may be fetched from any offset.

    Parameters

    • byteOffset: number

      The place in the buffer at which the value should be retrieved.

    • OptionallittleEndian: boolean

      If false or undefined, a big-endian value should be read.

    Returns number

  • Gets the Uint32 value at the specified byte offset from the start of the view. There is no alignment constraint; multi-byte values may be fetched from any offset.

    Parameters

    • byteOffset: number

      The place in the buffer at which the value should be retrieved.

    • OptionallittleEndian: boolean

      If false or undefined, a big-endian value should be read.

    Returns number

  • Gets the Uint8 value at the specified byte offset from the start of the view. There is no alignment constraint; multi-byte values may be fetched from any offset.

    Parameters

    • byteOffset: number

      The place in the buffer at which the value should be retrieved.

    Returns number

  • Stores a BigInt64 value at the specified byte offset from the start of the view.

    Parameters

    • byteOffset: number

      The place in the buffer at which the value should be set.

    • value: bigint

      The value to set.

    • OptionallittleEndian: boolean

      If false or undefined, a big-endian value should be written.

    Returns void

  • Stores a BigUint64 value at the specified byte offset from the start of the view.

    Parameters

    • byteOffset: number

      The place in the buffer at which the value should be set.

    • value: bigint

      The value to set.

    • OptionallittleEndian: boolean

      If false or undefined, a big-endian value should be written.

    Returns void

  • Stores an Float32 value at the specified byte offset from the start of the view.

    Parameters

    • byteOffset: number

      The place in the buffer at which the value should be set.

    • value: number

      The value to set.

    • OptionallittleEndian: boolean

      If false or undefined, a big-endian value should be written.

    Returns void

  • Stores an Float64 value at the specified byte offset from the start of the view.

    Parameters

    • byteOffset: number

      The place in the buffer at which the value should be set.

    • value: number

      The value to set.

    • OptionallittleEndian: boolean

      If false or undefined, a big-endian value should be written.

    Returns void

  • Stores an Int16 value at the specified byte offset from the start of the view.

    Parameters

    • byteOffset: number

      The place in the buffer at which the value should be set.

    • value: number

      The value to set.

    • OptionallittleEndian: boolean

      If false or undefined, a big-endian value should be written.

    Returns void

  • Stores an Int32 value at the specified byte offset from the start of the view.

    Parameters

    • byteOffset: number

      The place in the buffer at which the value should be set.

    • value: number

      The value to set.

    • OptionallittleEndian: boolean

      If false or undefined, a big-endian value should be written.

    Returns void

  • Stores an Int8 value at the specified byte offset from the start of the view.

    Parameters

    • byteOffset: number

      The place in the buffer at which the value should be set.

    • value: number

      The value to set.

    Returns void

  • Stores an Uint16 value at the specified byte offset from the start of the view.

    Parameters

    • byteOffset: number

      The place in the buffer at which the value should be set.

    • value: number

      The value to set.

    • OptionallittleEndian: boolean

      If false or undefined, a big-endian value should be written.

    Returns void

  • Stores an Uint32 value at the specified byte offset from the start of the view.

    Parameters

    • byteOffset: number

      The place in the buffer at which the value should be set.

    • value: number

      The value to set.

    • OptionallittleEndian: boolean

      If false or undefined, a big-endian value should be written.

    Returns void

  • Stores an Uint8 value at the specified byte offset from the start of the view.

    Parameters

    • byteOffset: number

      The place in the buffer at which the value should be set.

    • value: number

      The value to set.

    Returns void