Homepage von Michael Pieper | |||||
BeOS Programme | |||||
PalmBeach | |||||
PSION Link Protokollbeschreibung | |||||
RFSV Protokollbeschreibung |
Das Kommando CHANGEDIR wird verwendet um den Pfad zu wechseln. Durch dieses Kommando braucht eine Implementation nicht zu wissen, wie das Trennzeichen in einem hirarchischen Filesystem beschaffen ist.
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 Befehl CHANGEDIR hat zwei verschiedene Ausprägungen. In der ersten Variante hat es einen Parameter weniger. Der Parameter "Ordnername" ist abhängig vom Parameter "Mode". Ist der Wert von "Mode" CD_SUBDIR (00 03), dann wird die zweite Variante verwendet.
Die erste Variante dient dazu, in das Rootverzeichnis, oder in das Parentverzeichnis zu wechseln.
Header | PLP | RFSV-CHANGEDIR Variante 1 | Footer | CRC | |||
---|---|---|---|---|---|---|---|
16 10 02 | 32 03 02 01 | Kommando 26 00 |
Größe 23 00 |
Mode 01 00 |
Pathname "REM::M:\TEMP" |
10 03 | 12 34 |
Die zweite Variante wird verwendet, wenn in ein Verzeichnis tiefer geweschselt werden soll.
Header | PLP | RFSV-CHANGEDIR Variante 2 | Footer | CRC | ||||
---|---|---|---|---|---|---|---|---|
16 10 02 | 32 03 02 01 | Kommando 26 00 |
Größe 23 00 |
Mode 03 00 |
Pathname "REM::M:\TEMP" |
Ordnername "ABCD" |
10 03 | 12 34 |
Eine gültige Antwort erfolgt mit dem Kommando RESPONSE und liefert einen Fehlercode, sowie den Pfad zurück, der aus dem Verzeichniswechsel entstanden ist.
Header | PLP | RFSV-RESPONSE | Footer | CRC | |||
---|---|---|---|---|---|---|---|
16 10 02 | 33 02 03 01 | Kommando 2a 00 |
Größe 25 00 |
Ergebnis 00 00 |
Pfadname "REM::M:\TEMP\ABCD" |
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. |
Das Kommando CHANGEDIR besteht aus 5 Informationseinheiten. Diese haben folgende Bedeutungen:
Länge in Byte | mögliche Werte | Bedeutung | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Kommando | 2 Byte | 00 26 (fest) | Die Kommandokennung hat immer den gleichen Wert! | |||||||||
Größe | 2 Byte | variabel | Da der Pfadname mit übermittelt wird, hängt der hier benötigte Wert von der Länge des Pfadnamens ab! Das abschließenden 0-Byte ist bei der Länge zu berücksichtigen. | |||||||||
Mode | 2 Byte | variabel | Der Modus gibt an, wie das neue Verzeichnis berechnet werden soll.
|
|||||||||
Pfadname | ab 1 Byte | 0-terminierter String | Es ist der Pfadname zu übermitteln, von dem aus gewechselt werden soll. | |||||||||
Ordnername | ab 1 Byte | 0-terminierter String | Dieser Parameter existiert nur, wenn der "Mode" CD_SUBDIR ist. Dieser Parameter gibt den Ordner an, in den gewechselt werden soll. |
Das Kommando CHANGEDIR wird mit einem RESPONSE beantwortet. Dieser liefert als Ergebnis einen Fehlercode und im Erfolgsfalle einen Pfadnamen, der dem Zielpfad entspricht nachdem das CHANGEDIR auch ausgeführt worden wäre.
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 Pfadnamen ab. | |||
Ergebnis | 2 Byte | variabel | Das Ergebnis kann folgende Werte erhalten:
|
|||
Pfadname | 2 Byte | 0-terminierter String | Es wird der Pfadname geliefert, der nach dem Wechsel entstehen würde, wenn er wie im Kommando angegeben ausgeführt wird. Dieser Ordner muß nicht existieren! |
Homepage von Michael Pieper | |||||
BeOS Programme | |||||
PalmBeach | |||||
PSION Link Protokollbeschreibung | |||||
RFSV Protokollbeschreibung |