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

RFSV-Kommando PARSE


Kommandobeschreibung

Dieses Kommando überprüft die übergebenen Dateibezeichnungen, ob daraus eine korrekte Filenamensbezeichnung zu generieren ist. Die Dateibezeichnungen werden in drei gleichberechtigten Parameter übergeben.

Jede Dateibezeichnung wird aufgeteilt in 5 Elemente. Filesystem, Devicename, Pfadname, Filename und Extension. Fehlt in der ersten Dateibezeichnung eines der 5 Elemente, wird dieses aus der zweiten Dateibezeichnung übernommen. Fehlt es dort ebenfalls, so wird noch die dritte Dateibezeichnung untersucht. Ist das Element in keinem der drei Dateibezeichnungen enthalten, wird es durch einen Standardwert aufgefüllt.

Ist so eine komplette Dateibezeichnung entstanden, dann wird berechnet, wie lang jeder Teil der Bezeichnung ist und ob der Filename oder die Extension Wildcards enthalten (Vergleiche auch PARSE$ im OPL-Handbuch)


Senderichtung (Kommando) im Schnittstellenformat

Der Befehl PARSE ist folgendermaßen in das PLP eingebaut:

Header PLP RFSV-PARSE Footer CRC
16 10 02 32 03 02 01 Kommando
1a 00
Größe
11 00
Name 1
"REM::\M:\AGENDA\"
Name 2
"*.AGN"
Name 3
"AGENDA"
10 03 12 34

Empfangsrichtung (Ergebnis) im Schnittstellenformat

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

Da die Antwort so lang ist, daß sie hier nicht mehr auf einen Bildschirm passen würde, habe ich sie in zwei Teile aufgeteilt. Tatsächlich ist es aber eine Nachricht!

Header PLP RFSV-RESPONSE Teil 1 ...
16 10 02 33 02 03 01 Kommando
2a 00
Größe
02 00
Ergebnis
00 00
Längenangaben ...
...
...
Filessys.
05
Device
02
Pfad
05
Datei
06
Endung
04

... RFSV-RESPONSE Teil 2 Footer CRC
...
...
Flags
01
Absoluter Dateiname
"REM::\AGN\AGENDA.AGN"
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 PARSE besteht aus 5 Informationseinheiten. Diese haben folgende Bedeutungen:

Länge in Byte mögliche Werte Bedeutung
Kommando 2 Byte 00 1a (fest) Die Kommandokennung hat immer den gleichen Wert!
Größe 2 Byte variabel Da insgesamt drei Strings mit jeweils 3 Nullbytes versendet werden, müssen die 0-Bytes immer mitgezählt werden!
Name 1 ab 1 Byte 0-terminierter String Es ist die erste Dateibezeichnung zu übergeben, die entweder alle 5 Elemente enthalten kann, oder nur eine Untermenge davon!
Name 2 ab 1 Byte 0-terminierter String Es ist die zweite Dateibezeichnung zu übergeben, die entweder alle 5 Elemente enthalten kann, oder nur eine Untermenge davon!
Name 3 ab 1 Byte 0-terminierter String Es ist die dritte Dateibezeichnung zu übergeben, die entweder alle 5 Elemente enthalten kann, oder nur eine Untermenge davon!

Ergebnisbeschreibung

Das Kommando PARSE wird mit einem RESPONSE beantwortet. Dieser liefert als Ergebnis einen Fehlercode zurück. Desweiteren einen kompletten Dateinamen mit allen 5 Elementen, sowie die Information, wie lang jedes Element ist. In Flags wird dann noch kenntlich gemacht, welche Wildcards in der Angabe enthalten sind.

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 Die Länge hängt von dem zurückgelieferten Dateinamen ab.
Ergebnis 2 Byte variabel Das Ergebnis kann folgende Werte erhalten:
NO_ERROR 00 00Kein Fehler aufgetreten
Du kannst Dir alle definierten Fehlermeldungen anschauen.
Filesystemlänge 1 Byte 05 (fest) Als Filesystem kommen nur zwei Werte in Frage. "REM::" bezeichnet das Remote-Filesystem und "LOC::" das Lokale Filesystem. Da aber die Anfrage immer im Zusammenhang mit dem Romote-rechner steht, kenn ich nur die Angabe "REM::".
Devicelänge 1 Byte variabel Als Device ist der Laufwerksbuchstabe unter DOS/WINDOWS, oder der Devicename gemeint. In der Realisierung für das BeOS wird die Länge des Devicenames übermittelt.
Pfadlänge 1 Byte variabel Es ist die Länge des Pfades anzugeben.
Dateinamenlänge 1 Byte variabel Die Länge des Dateinamens ist ohne die Extension zu übergeben.
Extensionlänge 1 Byte variabel Die Länge der Extension berechnet sich inclusive des trennenden Punktes.
Flags 1 Byte variabel In dieser Informationseinheit wird verschlüsselt, ob und wo Wildcards verwendet wurden. Folgende Werte sind hier additiv möglich:
PWILD_ANY 01Enthält einen oder mehrere Wildcards
PWILD_NAME 02Der Dateiname enthält einen oder mehrere Wildcards
PWILD_EXT 04Die Extension enthält einen oder mehrere Wildcards
Absoluter Dateiname ab 1 Byte 0-terminierter String Es wird der zusammengestellte absolute Dateiname mit übergeben, auf den sich die obigen Angaben beziehen. Dieser Name wurde aus den 3 Namens-Strings zusammengebaut und enthält evtl. auch Eintragungenen aus einem Standardpfad!

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

Letzte Änderung 04.04.1999 von Michael Pieper