|This article needs additional citations for verification. (April 2014)|
The Rock Ridge Interchange Protocol (RRIP, IEEE P1282) is an extension to the ISO 9660 volume format, commonly used on CD-ROM and DVD media, which adds POSIX file system semantics. The availability of these extension properties allows for better integration with Unix and Unix-like operating systems.
Design and contents
The RRIP extensions are, briefly:
- Longer file names (up to 255 bytes) and fewer restrictions on allowed characters (support for lowercase, etc.)
- UNIX-style file modes, user ids and group ids, and file timestamps
- Support for Symbolic links and device files
- Deeper directory hierarchy (more than 8 levels)
- Efficient storage of sparse files
The RRIP extensions are built upon a related standard System Use Sharing Protocol (SUSP, IEEE P1281). SUSP provides a generic way of including additional properties for any directory entry reachable from the primary volume descriptor (PVD).
In an ISO 9660 volume, every directory entry has an optional system use area whose contents are undefined and left to be interpreted by the system. SUSP defines a method to subdivide that area into multiple system use fields, each identified by a two-character signature tag. The idea behind SUSP was that it would enable any number of independent extensions to ISO 9660 (not just RRIP) to be created and included on a volume without conflicting. It also allows for the inclusion of property data that would otherwise be too large to fit within the limits of the system use area.
SUSP defines several common tags and system use fields:
- CE - Continuation area
- PD - Padding field
- SP - System use sharing protocol indicator
- ST - System use sharing protocol terminator
- ER - Extensions reference
- ES - Extension selector
RRIP defines additional SUSP tags for support of POSIX semantics, along with the format and meaning of the corresponding system use fields:
- RR - Rock Ridge extensions in-use indicator (note: dropped from standard after version 1.09)
- PX - POSIX file attributes
- PN - POSIX device numbers
- SL - symbolic link
- NM - alternate name
- CL - child link
- PL - parent link
- RE - relocated directory
- TF - time stamp
- SF - sparse file data
Other known SUSP fields include:
- AA - Apple extension, preferred
- AB - Apple extension, old
- AS - Amiga file properties (see below)
Note that the Apple ISO 9660 Extensions do not technically follow the SUSP standard; however the basic structure of the AA and AB fields defined by Apple are forward compatible with SUSP; so that, with care, a volume can use both Apple extensions as well as RRIP extensions.
Amiga Rock Ridge is similar to RRIP, except it provides additional properties used by the Amiga operating system. It too is built on the SUSP standard by defining an "AS"-tagged system use field. Thus both Amiga Rock Ridge and the POSIX RRIP may be used simultaneously on the same volume.
Some of the specific properties supported by this extension are the additional Amiga-bits for files. There is support for attribute "P" that stands for "pure" bit (indicating re-entrant command) and attribute "S" for script bit (indicating batch file). This includes the protection flags plus an optional comment field. These extensions were introduced by Angela Schmidt with the help of Andrew Young, the primary author of the Rock Ridge Interchange Protocol and System Use Sharing Protocol. The Amiga extensions are recognized by Amiga program MasterISO, and should also be recognized by MakeCD and Frying Pan, but the support by latter two programs is uncredited.
Users who want to access comments and protection bits of their Amiga files present on CDs could simply mount some new logical units associated to the same physical unit, but using Amiga CacheCDFS as filesystem.
- TRANS.TBL, a convention and predecessor to Rock Ridge allowing less-restrictive file names