Homepage von Michael Pieper
BeOS Programme
PalmBeach
PSION Link Protokollbeschreibung
RFSV Protokollbeschreibung

RFSV-Kommando FDIRREAD


Kommandobeschreibung

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!


Senderichtung (Kommando) im Schnittstellenformat

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

Empfangsrichtung (Ergebnis) im Schnittstellenformat

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.


Kommandobeschreibung

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..

Ergebnisbeschreibung

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:
NO_ERROR 00 00Kein Fehler aufgetreten
Du kannst Dir alle definierten Fehlermeldungen anschauen.
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:
P_FAWRITE 00 01In die Datei kann geschrieben werden
P_FAHIDDEN 00 02Die Datei ist versteckt
P_FASYSTEM 00 04Die Datei ist eine Systemdatei
P_FAVOLUME 00 08Dieser Eintrag ist der Devicename
P_FADIR 00 10Dieser Eintrag ist ein Verzeichnis
P_FAMOD 00 20Dieser Eintrag wurde verändert und hat daher das Modify-Flag gesetzt
P_FAREAD 01 00Aus dieser datei kann gelesen werden
P_FAEXEC 02 00Dieses programm darf gestartet werden
P_FASTREAM 04 00Dieser Eintrag ist ein byte stream file
P_FATEXT 08 00Dieser Eintrag ist ein Textfile
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

Letzte Änderung 04.04.1999 von Michael Pieper