ISO 9660: Difference between revisions

[unchecked revision][unchecked revision]
(Corrected outdated libisofs repo URLs)
 
(4 intermediate revisions by 4 users not shown)
Line 5:
 
== Overview and caveats ==
ISO 9660 is not a complex file system, but has a few quirks that are worth remembering. It seems that some operating systems also create non-compliant CDs, so beware! The main example of this is the character set that is available for file names. Strictly, filenames may only consist of uppercase letters A-Z, digits,
dots, and underscores. Further there is a semicolon which separates the visible file name from its version number suffix. Many operating systems also allow lower case letters and other characters. Linux's [[VFS]] displays lower case filenames to the user despite the CD contents actually containing upper case characters.
 
Line 142:
 
Since sectors 0x00-0x0F of the CD are reserved as System Area,
the Volume Descriptors can be found starting at sector 0x10 (16). The format of the volume descriptors is as follows:
 
{| {{wikitable}}
Line 265:
| 574 || 128 || Application Identifier || strA || Identifies how the data are recorded on this volume. For extended information, the first byte should be 0x5F, followed by the filename of a file in the root directory. If not specified, all bytes should be 0x20.
|-
| 702 || 3837 || Copyright File Identifier || strD || Filename of a file in the root directory that contains copyright information for this volume set. If not specified, all bytes should be 0x20.
|-
| 740739 || 3637 || Abstract File Identifier || strD || Filename of a file in the root directory that contains abstract information for this volume set. If not specified, all bytes should be 0x20.
|-
| 776 || 37 || Bibliographic File Identifier || strD || Filename of a file in the root directory that contains bibliographic information for this volume set. If not specified, all bytes should be 0x20.
Line 338:
!Offset
!Size
!Type
!Description
|-
| 0 || 1 || int8 || Length of Directory Record.
|-
| 1 || 1 || int8 || Extended Attribute Record length.
|-
| 2 || 8 || int32_LSB-MSB || Location of extent (LBA) in both-endian format.
|-
| 10 || 8 || int32_LSB_MSB || Data length (size of extent) in both-endian format.
|-
| 18 || 7 || see format below || Recording date and time (see format below).
|-
| 25 || 1 || File flags (see below) || File flags.
|-
| 26 || 1 || int8 || File unit size for files recorded in interleaved mode, zero otherwise.
|-
| 27 || 1 || int8 || Interleave gap size for files recorded in interleaved mode, zero otherwise.
|-
| 28 || 4 || int16_LSB-MSB || Volume sequence number - the volume that this extent is recorded on, in 16 bit both-endian format.
|-
| 32 || 1 || int8 || Length of file identifier (file name). This terminates with a ';' character followed by the file ID number in ASCII coded decimal ('1').
|-
| 33 || (variable) || strD || File identifier.
|-
| (variable) || 1 || -- || Padding field - zero if length of file identifier is even, otherwise, this field is not present. This means that a directory entry will always start on an even byte number.
|-
| (variable) || (variable) || -- ||
System Use -
The remaining bytes up to the maximum record size of 255 may be used
Anonymous user