| Previous | Contents | Index |
There is a requirement for one primary Hierarchy that must exist on every ISO-9660 Volume. The primary Hierarchy allows only the following for D-Characters: 3
The primary Hierarchy allows only the following for A-Characters: 4
While a given operating system may or may not be able to interpret the
characters used to name Files and Directories in various
Hierarchies on an ISO-9660 Volume, all operating systems
should be able to interpret the characters used to name Files
and
Directories in that primary Hierarchy.
2.2.6 Levels of Interchange
There is another dimension of ISO-9660 compatibility across operating systems, as shown in Table 2-2, ISO-9660 Levels of Interchange:
| Level | Restrictions |
|---|---|
| Level 1 | Files can contain only one File Section. File Names can contain no more than 8 characters. File Name Extensions can contain no more than 3 characters. Directory Identifiers can contain no more than 8 characters. |
| Level 2 | Files can contain only one File Section. |
| Level 3 | No restrictions. |
The ISO-9660 standard provides multiple mechanisms for extensions, and
luckily three that are of interest to diverse operating systems do not
conflict with each other.
2.2.7.1 Posix Rock Ridge Extensions
The Rock Ridge extensions provide storage for data elements needed for Unix-like environments. On any given Hierarchy, LJK/CDROM can support the following standard:
The ISO-9660 standard itself supports RMS file attributes
for sequential files, but for relative and indexed files VMS-specific
RMS attributes must be added to the information for a File.
Since this information is associated with a File, it is
independent of Hierarchies.
2.2.7.3 Microsoft Joliet Hierarchies
Unlike the Unix and VMS extensions described above, the Microsoft Joliet extensions actually force a violation of the ISO-9660 standard. In fairness, ISO-9660 did not provide a central feature that Microsoft needed to support Windows NT---two-byte characters. The Microsoft Joliet extensions require use of a separate Hierarchy.
2.3 The Nature of ISO-9660 Volume Sets
Each ISO-9660 Volume has a particular Volume Sequence Number from 1 to 65535 indicating its position in its Volume Set. Even a single Volume written in isolation has a Volume Sequence Number of 1, and could be used as the basis for writing additional members of the same Volume Set.
Unlike for traditional VMS ODS-n volume sets, with ISO-9660
Volume Sets
you can add Volumes without writing onto existing Volumes.
This is particularly suited to read-only media like CDROM and DVD.
2.3.1 The ISO-9660 Volume Group
Each time Volumes are added to a Volume Set, the Volumes (possibly only one) being added form a new Volume Group. Each Volume in the new Volume Group contains directory information for all the Hierarchies in all the prior Volume Groups in the Volume Set, as well as all the Volumes in the new Volume Group being written.
Looking at this from the VMS perspective, it means that, in order to have full access to the Volume Set, the first Volume you mount must be a member of the latest Volume Group for the Volume Set. 5 Once that mount has been done, VMS has information about all files in the Volume Set and can engage in volume switching to get the right disc for retrieving any file.
This chapter describes how to define Character Sets within LJK/CDROM.
As described in Section 2.2.4,Character Sets, ISO-9660 restricts the Character Sets that can be used for metadata within a Hierarchy. There are two levels of such restrictions:
LJK/CDROM predefines several Character Sets (and thereby reserves those names for Character Sets) to reduce the need for custom definitions of Character Sets. The predefined Character Sets are as follows:
| LJK/CDROM Name | Escape Sequences | D/D1-Characters | Other Restrictions |
|---|---|---|---|
| LJK$ISO9660 | none | A-Z, digits and underscore | none |
| LJK$MICROSOFT_L1 | %/@ | Microsoft characters | 8.3 names, files cannot span Volumes |
| LJK$MICROSOFT_L2 | %/C | Microsoft characters | files cannot span Volumes |
| LJK$MICROSOFT_L3 | %/E | Microsoft characters | none |
| LJK$VMS | (B | A-Z, digits, underscore, dollar sign and dash | none |
| LJK$VMS_EXTENDED | -A | all ODS-5 characters (i.e., not * or ?) | none |
It is important to remember that the name of a Character Set is just an internal reference used during one invocation of LJK/CDROM.
This chapter describes how to create Hierarchies in an ISO-9660 Volume by using LJK/CDROM.
The combination of Volume Identifier and Escape Sequences for each Hierarchy on a Volume must be unique, and during actual use of a Volume that combination will suffice for identification.
However, within LJK/CDROM a user-specified Hierarchy name is used to describe a Hierarchy, providing an implicit link to a particular Character Set definition.
The CREATE HIERARCHY command within LJK/CDROM associates with a user-chosen name the attributes desired for the Hierarchy. The full range of possible attributes is described in LJK/CDROM, under the command CREATE HIERARCHY, but the most important ones are as follows:
4.1 Hierarchy Names and Volume Sets
There is no ISO-9660 requirement that the Volume Identifier for one Hierarchy on a Volume differ from the Volume Identifier for other Hierarchies on that Volume so long as the Escape Sequences within the Character Set provides a distinction.
Likewise there is no ISO-9660 requirement that the Volume Identifier for a Hierarchy on one Volume differ from the Volume Identifier for the same Hierarchy on a different Volume in the same Volume Set. But the use of Volume Identifiers in the VMS MOUNT command makes it preferable to use different Volume Identifiers for successive Volumes, particularly when mounting multiple Volumes from the same Volume Set at the same time. Therefore, LJK/CDROM defaults to Volume Identifiers that include the Volume Sequence Number within the first 12 characters of the Volume Identifier (since VMS Mount deals mainly with the first 12 characters).
The Hierarchy name provides a single user-friendly name within LJK/CDROM for describing a Hierarchy.
Hierarchies can be added to, but not removed from successive
Volume Groups of a Volume Set.
If there are no new Files provided for a Hierarchy
when extending a Volume Set, metadata for the Hierarchy will
still be present on the new Volumes, pointing to files on
previous Volumes, ready for access via volume switching.
4.2 Predefined Hierarchies
If no Hierarchies have been defined at the time the command ADD or the command WRITE1 is issued, LJK/CDROM automatically defines the following four Hierarchies and proceeds using those Hierarchies.
| LJK/CDROM Hierarchy | Character Set Used |
|---|---|
| LJK$OPEN | LJK$ISO9660 |
| LJK$MICROSOFT | LJK$MICROSOFT_L3 |
| LJK$ODS2 | LJK$VMS |
| LJK$ODS5 | LJK$VMS_EXTENDED |
1 This will always be true if the command WRITE is issued directly from DCL rather than from subsystem mode. |
This chapter tells how to use LJK/CDROM to create an ISO-9660 Volume.
As discussed in Section 1.2, Formatting a CDROM Volume, the simplest method of formatting a Volume with LJK/CDROM is to use one of the commands:
LJK/CDROM WRITE ddcu: source-filespec-1,source-filespec-2,... |
LJK/CDROM WRITE target-filespec source-filespec-1,source-filespec-2,... |
The LJK/CDROM WRITE command takes the target file specification before the source file specifications because the source file specifications are optional. |
to enter subsystem mode and from there use the following commands (typically in the order shown):
| Previous | Next | Contents | Index |