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

RFSV-Kommando FSEEK


Kommandobeschreibung

Das Kommando FSEEK positioniert den Filepointer auf eine angegebene Position innerhalb einer geöffneten Datei. Es gibt diverse Möglichkeiten die Position zu bestimmen. Um das Kommando korrekt ausführen zu können muß die Datei mit dem Parameter FRANDOM im Kommando FOPEN geöffnet worden sein!

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

Header PLP RFSV-FSEEK Footer CRC
16 10 02 32 03 02 01 Kommando
0c 00
Größe
08 00
Filehandle
01 00
Position
00 00 00 00
Modus
02 00
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
06 00
Ergebnis
00 00
aktuelle Position
bc 04 00 00
10 03 12 34
fette Werte stellen feste Werte dar, die exakt so verwendet werden!
kursive Werte stellen Beispiele dar, die anhand des Befehls eine unterschiedliche Bedeutung haben.

Kommandobeschreibung

Das Kommando FSEEK besteht aus 5 Informationseinheiten. Diese haben folgende Bedeutungen:

Länge in Byte mögliche Werte Bedeutung
Kommando 2 Byte 00 0c (fest) Die Kommandokennung hat immer den gleichen Wert!
Größe 2 Byte 00 08 (fest) Es werden immer acht Bytes übertragen.
Filehandle 2 Byte variabel Es ist der Filehandle zu übergeben, den das aufrufende Programm mit dem Kommndo FOPEN erhalten hat.
Position 4 Byte variabel Abhängig vom Modus wird dieser Wert unterschiedlich interpretiert. Er gibt immer eine Länge in Bytes an. Ab welcher Position dieser allerdings gezählt wird, ergibt sich aus dem Inhalt von Modus.
Modus 2 Byte variabel Dieser Wert gibt an, wie die Bytelänge in Position zu betrachten ist. Folgende Werte sind möglich:
P_FABS 00 01Position absolut vom Anfang der Datei
P_FEND 00 02Position absolut vom Ende der Datei
P_FCUR 00 03Position absolut von der aktuellen Position des Filepointers
P_FRSENSE 00 04Sense the record position
P_FRSET 00 05Set the record position
P_FREWIND 00 06Rewind a text file

Ergebnisbeschreibung

Das Kommando FSEEK wird mit einem RESPONSE beantwortet. Dieser liefert als Ergebnis einen Fehlercode zurück und die aktuelle Position innerhalb des Files als absoluter Wert vom Anfang der Datei.

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 00 02 (fest) Es werden immer 2 zsuätzliche Byte geliefert!
Ergebnis 2 Byte variabel Das Ergebnis kann folgende Werte erhalten:
E_FILE_INV ff d3 -45 Fehler bei der IO-Funktion. Tritt auf, wenn die Datei nicht mit FRANDOM geöffnet wurde
NO_ERROR 00 00 00 Kein Fehler aufgetreten
Du kannst Dir alle definierten Fehlermeldungen anschauen.
Position 4 Byte variabel Es wird die absolute Position in Bytes angegeben, an der der Filepointer nach dem Kommando steht.

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

Letzte Änderung 04.04.1999 von Michael Pieper