ISO 9660 Primary Volume Descriptor
The ISO 9660 data structure follows the skipped block with a series of volume descriptors, detailing the contents and types of information contained on the disk.
The ISO 9660 primary volume descriptor describes the characteristics of the ISO standard file system information present on a given CD-ROM.
The ISO 9660 primary volume descriptor acts much like the superblock of the the Unix File System, providing details on the ISO 9660 compliant portion of the disk. Contained within the primary volume descriptor is the root directory record describing the location of the contiguous root directory.
Directory entries are successively stored within this region. Evaluation of the ISO 9660 filenames is begun at this location. The root directory is stored as an extent, or sequential series of sectors, that contains each of the directory entries appearing in the root.
Since ISO 9660 works by segmenting the CD-ROM into logical blocks, the size of these blocks is found in the primary volume descriptor as well.
A CD-ROM is only compliant to the ISO 9660 file system standard if there is a primary descriptor, and when there is an ending descriptor available (the volume descriptor constitute a variable length table which contains information on how many other descriptors are present).
It is possible to have many kind of file systems and information arrangements on a single CD-ROM. However, while many other kinds of descriptors can be used to optionally record non-ISO defined information contents, the primary volume descriptor is always present.
It is even possible to have a Mixed Mode disc, containing audio tracks and data tracks on the same disc. The most common type of Mixed Mode discs is one where the first track on the disc is Mode 1 data (ISO 9660 or non-ISO 9660), and the remaining tracks on the disc are audio tracks.
Another possibility is the so called Hybrid disc, which contains an ISO 9660 part and a non-ISO 9660 part.
Referring back to this picture, the first entry is the Volume Descriptor Type (type), where it can have the following values:
Number 0: the Volume Descriptor is a Boot Record
Number 1: the Volume Descriptor is a Primary Volume Descriptor
Number 2: the Volume Descriptor is a Supplementary Volume Descriptor
Number 3: the Volume Descriptor is a Volume Partition Descriptor
Number 4-254: are reserved
Number 255: the Volume Descriptor is a Volume Descriptor Set Terminator.
The second entry is called the Standard Identifier ( id) and is set to CD001 for a CD-ROM compliant to the ISO 9660 standard.
Another interesting field is the Volume Space Size ( volume_space_size) which contains the amount of data available on the CD-ROM.