ISO9660 — Änderungen 3306 → 3336

Zeile 6: Zeile 6:
 
== BothEndian ==
 
== BothEndian ==
 
Viele Multibytewerte werden bei iso9660 also BothEndian gespeichert. D.h erst kommt der Wert in LittleEndian dann in BigEndian. Multibytewerte werden in diesem Artikel wie folgt bezeichnet:
 
Viele Multibytewerte werden bei iso9660 also BothEndian gespeichert. D.h erst kommt der Wert in LittleEndian dann in BigEndian. Multibytewerte werden in diesem Artikel wie folgt bezeichnet:
−
* Little Endian (LE)
+
* Little Endian (LE)
−
* Big Endian (BE)
+
* Big Endian (BE)
−
* Both Endian (XE)
+
* Both Endian (XE)
 
Zu beachten ist natürlich dass z.B ein 4byte großer BothEndian-Wert nur ein Word ist.
 
Zu beachten ist natürlich dass z.B ein 4byte großer BothEndian-Wert nur ein Word ist.
  
 
== Allgemeiner Aufbau ==
 
== Allgemeiner Aufbau ==
−
Die ersten 16 Sektoren sind Systemspezifisch, danach folgen in einigen Sektoren die sogenannten Volume-Deskriptoren. Ein Sektor hat normalerweise eine Größer von 2048 Bytes, kann aber auch eine Andere Größe haben.
+
Die ersten 16 Sektoren sind systemspezifisch, danach folgen in einigen Sektoren die sogenannten Volume-Deskriptoren. Ein Sektor hat normalerweise eine Größer von 2048 Bytes, kann aber auch eine Andere Größe haben.
 
Nach den Volume-Deskriptoren liegen Pathtables und Datensektoren (Sektoren die Datei oder Verzeichnis-Informationen enthalten).
 
Nach den Volume-Deskriptoren liegen Pathtables und Datensektoren (Sektoren die Datei oder Verzeichnis-Informationen enthalten).
  
 
== Volume-Deskriptoren ==
 
== Volume-Deskriptoren ==
 
Es gibt 2 wichtige Typen an Volume Deskriptoren:
 
Es gibt 2 wichtige Typen an Volume Deskriptoren:
−
* Primäre Volume-Deskriptoren: Enthalten wichtige Informationen über das Dateisystem
+
* Primäre Volume-Deskriptoren: Enthalten wichtige Informationen über das Dateisystem
−
* Terminierender Volume-Deskriptor: Zeigt das Ende der Volume-Deskriptoren an.
+
* Terminierender Volume-Deskriptor: Zeigt das Ende der Volume-Deskriptoren an.
 +
Ein Volume-Deskriptor füllt dabei einen ganzen Sektor.
  
 
Volume-Deskriptoren füllen immer einen ganzen Sektor aus und fangen mit dem Typ und der Signatur an:
 
Volume-Deskriptoren füllen immer einen ganzen Sektor aus und fangen mit dem Typ und der Signatur an:
Zeile 102: Zeile 103:
  
 
=== Terminierender Volume-Deskriptor ===
 
=== Terminierender Volume-Deskriptor ===
 +
{| border="1"
 +
! Offset || Größe || Beschreibung
 +
|-
 +
| 0x00  || 1    || Typ
 +
|-
 +
| 0x01  || 6    || Signature
 +
|}
 +
Dieser Volume-Deskriptor enthält keine Informationen. Er ist nur zum Anzeigen des Ende der Volume-Deskriptoren da.
  
 
== Verzeichniseintrag ==
 
== Verzeichniseintrag ==
 +
Ein Verzeichniseintrag enthält Metainformationen zu den Dateien bzw. Verzeichnissen auf der CD. Der Root-Verzeichniseintrag befindet sich im primären Volume-Deskriptor. Jedes Verzeichnis (somit auch das Rootverzeichnis) enthält eine Liste an Verzeichniseinträgen im Datenbereich.
 +
 +
{| border="1"
 +
! Offset  || Größe || Beschreibung
 +
|-
 +
| 0x00    || 1    || Größe des gesamten Verzeichniseintrags
 +
|-
 +
| 0x01    || 1    || Anzahl an Sektoren im erweiterten Attributeintrag
 +
|-
 +
| 0x02    || 8    || Erster Sektor des Datenbereichs (XE)
 +
|-
 +
| 0x0A    || 8    || Größe des Datenbereichs (XE)
 +
|-
 +
| 0x13    || 1    || Erstellungsjahr (seit 1900)
 +
|-
 +
| 0x14    || 1    || Erstellingsmonat (1=Januar, 2=Februar,...)
 +
|-
 +
| 0x15    || 1    || Erstellungstag (Tag des Monats)
 +
|-
 +
| 0x16    || 1    || Erstellungsstunde
 +
|-
 +
| 0x17    || 1    || Erstellungsminute
 +
|-
 +
| 0x18    || 1    || Erstellungssekunde
 +
|-
 +
| 0x19    || 1    || GMT Verschiebung (in 15min-Intervallen)
 +
|-
 +
| 0x1A    || 1    || Flags
 +
|-
 +
| 0x1B    || 1    || Einheitengröße für Interleaved-Dateien
 +
|-
 +
| 0x1C    || 1    || Abstand zwischen Blöcken von Interleaved-Dateien
 +
|-
 +
| 0x1D    || 4    || Volume-Sequenz-Nummer (XE)
 +
|-
 +
| 0x22    || 1    || Länge des Identifizierers
 +
|-
 +
| 0x23    || X    || Identifizierer
 +
|-
 +
| 0x23+X  || (1)  || Padding-Byte. Füllt so, dass die System Use Area mit einem geraden Offset anfängt.
 +
|-
 +
| 0x23+X+Y || Rest  || Für Erweiterungen (System Use Area)
 +
|}
  
 
== Rockridge ==
 
== Rockridge ==
 +
Rockridge ist eine Erweiterung von ISO9660 für POSIX-Systeme. Rockridge erweitert dabei ISO9660 um:
 +
* lange Dateinamen
 +
* Zugriffsrechte
 +
* Gerätedateien
 +
* Symbolische Links
 +
* Timestamps
 +
* weiteres
 +
 +
Rockridge teilt sich die System Use Are (Ab jetzt SUA genannt) in jeden Verzeichniseintrags nach den SUSP-Standard ein. Dabei wird die SUA in Einträge gegliedert, die hintereinander liegen. Jeder Eintrag beginnt mit einem Kopf, mit dem er eindeutig indentifizierbar ist.<br>
 +
 +
=== Kopf eines Eintrags ===
 +
{| border="1"
 +
! Offset  || Größe || Beschreibung
 +
|-
 +
| 0x00    || 2    || Signatur
 +
|-
 +
| 0x02    || 1    || Größe des Eintrags
 +
|-
 +
| 0x03    || 1    || Version (1)
 +
|}
 +
Die Signatur entspricht der Abkürzung (z.B "PX" entspricht 'P'|('X'<<8)).
 +
 +
== SP-Eintrag ==
 +
Der SP-Eintrag sollte nach dem SUSP-Standart eigentlich der erste Eintrag sein. Er zeigt an, dass diese SUA SUSP verwendet. Auf meinen ISOs hab ich bis jetzt nur RR-Einträge am Anfang der SUA gefunden. Wegen diesen Umstimmigkeiten wird hier nicht weiter auf den Inhalt dieser Einträge eingegangen. Sie können außerdem problemlos übersprungen werden.
 +
 +
== ST-Eintrag ==
 +
Der ST-Eintrag terminiert die Liste der Einträge in einer SUA. Er sollte immer vorhanden sein, außer wenn nur noch 4 oder weniger Bytes im SUA verbleiben. Dieser Eintrag hat keinen speziellen Inhalt.
 +
 +
=== PX-Eintrag ===
 +
Der PX-Eintrag enthält Informationen zu den Zugriffsrechten und weitere Daten.
 +
{| border="1"
 +
! Offset  || Größe || Beschreibung
 +
|-
 +
| 0x00    || 2    || Signatur
 +
|-
 +
| 0x02    || 1    || Größe des Eintrags
 +
|-
 +
| 0x03    || 1    || Version (1)
 +
|-
 +
| 0x04    || 8    || Mode (XE)
 +
|-
 +
| 0x0C    || 8    || Number of Links (XE)
 +
|-
 +
| 0x14    || 8    || UID (XE)
 +
|-
 +
| 0x1C    || 8    || GID (XE)
 +
|-
 +
| 0x24    || 8    || Serielle Nummer (XE)
 +
|}
 +
Diese Felder stimmen mit denen aus struct stat überein.
 +
 +
=== PN-Eintrag ===
 +
 +
=== SL-Eintrag ===
 +
 +
=== NM-Eintrag ===
 +
 +
=== TF-Eintrag ===
  
 
== Links ==
 
== Links ==
 
* [http://www.ecma-international.org/publications/standards/Ecma-119.htm Standard ECMA-119 - Volume and File Structure of CDROM for Information Interchange (2nd edition)]
 
* [http://www.ecma-international.org/publications/standards/Ecma-119.htm Standard ECMA-119 - Volume and File Structure of CDROM for Information Interchange (2nd edition)]
 +
* [ftp://ftp.ymi.com/pub/rockridge/rrip112.ps RRIP Draft Standard 1.12]
 +
* [ftp://ftp.ymi.com/pub/rockridge/susp112.ps SUSP Draft Standard 1.12]
  
 
[[Kategorie:Dateisystem]]
 
[[Kategorie:Dateisystem]]