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

RFSV-Kommando FREAD


Kommandobeschreibung

Das Kommando FREAD wird verwendet um Daten aus einer zuvor geöffneten Datei, zu lesen. Es muß das gleiche Filehandle verwendet werden, wie beim Befehl FOPEN zurückgeliefert wurde.

Es wird maximal die Anzahl der angeforderten Bytes geliefert. Ist die Datei kleiner, als die Anzahl der angeforderten Daten, dann wird nur die Anzahl der noch vorhandenen Daten geliefert. Ist der Dateizeiger am Ende der Datei, so wird bei einem nächsten Leseversuch der Fehler ERR_FILE_EOF (-33) zurückgeliefert.

Das Protokoll im PSION 3c verträgt nur eine maximale Anforderung von 511 Byte! Mehr macht auch nicht viel Sinn, da sonst die Übertragungszeiten zu lang werden! Werden mehr Byte angefordert stürzt das Protokoll im PSION 3c ab!

Da bei FREAD sehr große Datenmengen übertragen werden können, ist darauf zu achten, daß eine Antwort aus mehreren Frames bestehen kann! Im PLP-Protokoll ist dafür der Zähler eingebaut, der absteigend die Anzahl der noch zu erwartenden Blöcke (inclusive des eigenen) angibt.

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 Befehl FREAD ist folgendermaßen in das PLP eingebaut:

Header PLP RFSV-FREAD Footer CRC
16 10 02 32 03 02 01 Kommando
04 00
Größe
04 00
Filehandle
01 00
Anzahl
01 02
10 03 12 34

Empfangsrichtung (Ergebnis) im Schnittstellenformat

Eine gültige Antwort erfolgt mit dem Kommando RESPONSE und liefert einen Fehlercode zurück.

Header PLP RFSV-RESPONSE Footer CRC
16 10 02 33 02 03 01 Kommando
2a 00
Größe
0c 00
Ergebnis
00 00
Daten
01 02 03 04 05 ...
10 03 12 34

Kommandobeschreibung

Das Kommando FREAD besteht aus 3 Informationseinheiten. Diese haben folgende Bedeutungen:

Länge in Byte mögliche Werte Bedeutung
Kommando 2 Byte 00 04 (fest) Die Kommandokennung hat immer den gleichen Wert!
Größe 2 Byte 00 04 (fest) es werden immer 4 Byte im Kommando übermittelt.
Filehandle 2 Byte variabel Es ist der Filehandle zu übergeben, aus dessen Datei gelesen werden soll.
Anzahl 2 Byte variabel Anzahl der Bytes, die gelesen werden sollen. Können auch mehr sein, als tatsächlich vorhanden sind. Es werden dann lediglich die Bytes geliefert, die in der Datei enthalten sind.

Ergebnisbeschreibung

Das Kommando FREAD 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 Dieser Wert ist abhängig von der Größe der gelieferten Daten.
Ergebnis 2 Byte variabel Das Ergebnis kann folgende Werte erhalten:
NO_ERROR 00 00Kein Fehler aufgetreten
ERR_FILE_EOF ff dcDas Dateiende wurde erreicht. Es konnten keine Daten geliefert werden
Du kannst Dir alle definierten Fehlermeldungen anschauen.
Daten variabel variabel Hier folgen die Daten, die geschrieben werden sollen. Die Anzahl kann aus dem Feld Größe ermittelt werden.

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

Letzte Änderung 04.04.1999 von Michael Pieper