Homepage von Michael Pieper | |||||
BeOS Programme | |||||
PalmBeach | |||||
PSION Link Protokollbeschreibung | |||||
RFSV Protokollbeschreibung |
Das Kommando FDIRREAD fordert den Inhalt eines kompletten Verzeichnisses an. Allerdings hat die Implementierung im PSION lediglich einen Buffer von 590 Byte Größe. Dadurch muß das Kommando bei größeren Verzeichnissen mehrmals gesendet werden um alle Dateieinträge zu erhalten. Das Ende der Liste ist dann erreicht, wenn die Meldung "EOF" als Ergebnis gesendet wird.
Das Kommando FINFO ist mit diesem Kommando vergleichbar. FINFO liefert die Information allerdings lediglich für einen bereits bekannten Directoryeintrag zurück.
Es ist zu beachten, daß alle Werte, die größer sind als 8 Bit in umgekehrter Reihenfolge übertragen werden. Das LOW-Byte wird als erstes über die Leitung geschickt und erst dann folgt das HIGH-Byte!
Der Kommando FDIRREAD hat immer das gleiche Format. Er ist folgendermaßen in das PLP eingebaut:
Header | PLP | RFSV-FDIRREAD | Footer | CRC | ||
---|---|---|---|---|---|---|
16 10 02 | 32 03 02 01 | Kommando 06 00 |
Größe 02 00 |
Filehandle 01 00 |
10 03 | 12 34 |
Eine gültige Antwort erfolgt mit dem Kommando RESPONSE und liefert einen Fehlercode und mehrere Dateiinformationen zurück.
Der Block "Fileinfo" enthält alle Informationen zu einer Datei/Ordner. Dieser Teil wird sooft wiederholt, bis alle Einträge des Verzeichnisses enthalten sind, oder der interne Puffer gefüllt ist! Wird dabei die maximale Länge des PLP überschritten, so wird die Nachricht in mehrere Teilnachrichten aufgeteilt!
Header | PLP | RFSV-RESPONSE | ... | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
16 10 02 | 33 02 03 01 | Kommando 2a 00 |
Größe 5a 00 |
Ergebnis 00 00 |
Größe 2 56 00 |
... ... |
... | Fileinfo, kann mehrmals enthalten sein! | ... | |||||
---|---|---|---|---|---|---|---|
... ... |
Version 02 00 |
Status 21 05 |
Dateigröße a8 02 00 00 |
Mod.Datum 14 5d 6f 33 |
Reserve ff ff ff ff |
Filename "agenda.agn" |
... ... |
... | Footer | CRC |
---|---|---|
... ... |
10 03 | 12 34 |
fette | Werte stellen feste Werte dar, die exakt so verwendet werden! |
kursive | Werte stellen Beispiele dar, die anhand des Kommandos eine unterschiedliche Bedeutung haben. |
Das Kommando FDIRREAD besteht aus 3 Informationseinheiten. Diese haben folgende Bedeutungen:
Länge in Byte | mögliche Werte | Bedeutung | |
---|---|---|---|
Kommando | 2 Byte | 00 06 (fest) | Die Kommandokennung hat immer den gleichen Wert! |
Größe | 2 Byte | 00 02 (fest) | Es werden immer zwei Bytes übertragen. |
Filehandle | 2 Byte | variabel | Es ist der Filehandle zu übergeben, das zurückgeliefert wurde, als mit FOPEN das Verzeichnis geöffnet wurde.. |
Das Kommando FDIRREAD wird mit einem RESPONSE beantwortet. Dieser liefert als Ergebnis einen Fehlercode zurück. Wird 00 00 zurückgeliefert, dann ist kein Fehler aufgetreten.
Länge in Byte | mögliche Werte | Bedeutung | |||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Kommando | 2 Byte | 00 2a (fest) | Die Kommandokennung hat immer den gleichen Wert! | ||||||||||||||||||||||||||||||
Größe | 2 Byte | variabel | Abhängig von der Anzahl der übermittelten Informationseinheiten | ||||||||||||||||||||||||||||||
Ergebnis | 2 Byte | variabel | Das Ergebnis kann folgende Werte erhalten:
|
||||||||||||||||||||||||||||||
Größe 2 | 2 Byte | variable | Liefert die Länge in Bytes, in denen die Information der Dateien gespeichert wird. | ||||||||||||||||||||||||||||||
Der folgende Block kann mehrmals auftreten und beschreibt jeweils exakt eine Datei oder einen Ordner! | |||||||||||||||||||||||||||||||||
Version | 2 Byte | 00 02 | Derzeit wird nur die Version 2 unterstützt. | ||||||||||||||||||||||||||||||
Status | 2 Byte | variabel | Beschreibt den Status der Datei/des Ordners. Folgende Stati sind möglich:
|
||||||||||||||||||||||||||||||
Filegröße | 4 Byte | variabel | Es wird die Größe der Datei in absoluten Bytes zurückgeliefert. | ||||||||||||||||||||||||||||||
Änderungsdatum | 4 Byte | variabel | Es wird das Änderungsdatum der Datei in Sekunden seit dem 1.1.1970 angegeben. | ||||||||||||||||||||||||||||||
Reserve | 4 Byte | ff ff ff ff | Für Erweiterungen des protokolls wurden 4 Bytes freigehalten | ||||||||||||||||||||||||||||||
Filename | ab 1 Byte | 0-terminierter String | Es wird lediglich der Dateiname eingetragen. Der Pfad darf nicht angegeben sein. Es sind maximal 128 Byte möglich! | ||||||||||||||||||||||||||||||
Der vorhergehende Block bis zum ersten gelben Balken kann öfters auftreten! |
Homepage von Michael Pieper | |||||
BeOS Programme | |||||
PalmBeach | |||||
PSION Link Protokollbeschreibung | |||||
RFSV Protokollbeschreibung |