Michael Piepers homepage
BeOS Programs
PalmBeach
PSION Link Protocol description

RFSV Protocol Description


General description

Here is a description of the Remote File Service Protocol (RFSV), which is already built into the PSION palmtop . This protocol is used to access the PSION-filesystem from the BeOS and vice versa.

The PSION files-application displays all devices of the BeOS system under the name "REM::". Unfortunately the PSION does not support a case sensitive filesystem. There may be some problems accessing files, which name only differs in the casesenitivity.

The RFSV protocol can be used from the PSION 3c as a server protocol and a client protocol. The PSION 5 supports only the server protocol. Depending on this, you cannot access the BeOS from a PSION 5.

This protocol isn't documented anywhere. Therefore I have tested the appropriate commands. A source code was at my disposal, from which one I could pick some informations. Therefore I cannot take over a warranty for the correctness of this description. The description corresponds to the implementation in my program, which connects the PSION with the BeOS


Start the RFSV protocol

In order to start the RFSV protocol, you must start the NCP (Network Control Protocol) The PSION 3c requests the process SYS$RFSV on his own channel no. 3.

To start the RFSV-protocol, the command NCP-CONNECT-TO-SERVER is used. The requested process must work as a RFSV server. This Protocol isn't build in the PSION 5, so it isn't posible to grant acces from the PSION 5 to the PC! If the process was successfully started, then you will get the response NCP-CONNECT-RESPONSE. Here you can get the information about the channel number which is used on the PSION.

The PC can start the server SYS$RFSV on the PSION in the same way. An access from the PC to the PSION is possible for every PSION-model. The initial instruction from the PSION looks correspondingly and must use an own channel!

Transmission direction (command) in the interface format

The command NCP-CONNECT-TO-SERVERS is built into the PLP (PSION Link Protocol) as shown below:

Header Sequence NCP channel NCP-CONNECT-TO-SERVER Footer CRC
16 10 02 32 00 Psion channel
03
Command
03
Process identifier
"SYSSRFSV.*"
10 03 12 34

Receipt direction (result) in the interface format

The response to the request supplies the channel on the PC page and a result byte:

Header Sequence NCP channel NCP-CONNECT-RESPONSE Footer CRC
16 10 02 33 00 PC channel
02
Command
04
Psion channel
03
Result
00
10 03 12 34

Integration of the RFSV into the PLP (PSION link protocol)

If the start was successfully executed and acknowledged, then the RFSV protocol can be served over the reserved channels. The protocol is merged into the PLP. The cannel numbers are used to identify the protocol. The NCP manages, that the informations depending on a specified channel reaches the correct protocol-program.

In general tht RFSV protocol is build into the PLP as shown below.:

Header Sequence Channel numbers Counter RFSV protocol Footer CRC
16 10 02 32 Recipient
03
Sender
02
01 Command
2a 00
Size
04 00
Data
00 01 02...
10 03 12 34

Boldvalues represent fixed values, which are used exactly in the shown way!
Italicvalues represent examples, which transport the informations.

All values, which are greater than 8 bits are transfered in reverse order! The LOW byte is first transfered over the line. After that the HIGH byte is transfered!


RFSV command

The following commands are defined in the RFSV protocol in the version 2:

The representation comes from the view of the programmer and not from view of the interface. Where the lowest byte is transferred first!

Instruction Name Description
00 00 FOPEN Opens a file, a folder or a whole device
00 02 FCLOSE closes an opened file, folder or device
00 04 FREAD Reads data from an opened file.
00 06 FDIRREAD Gets further information from an opend directory.
00 08 FDEVICEREAD Gets information from all available devices.
00 0a FWRITE Writes data into an opened file.
00 0c FSEEK Positions the file pointer in an opened file on a certain position
00 0e FFLUSH Flushes the written buffer on the remote system to the disk.
00 10 FSETEOF Sets the length of a file. You can shorten or extend the file.
00 12 FRENAME Renames file or folders. It is aslo posible to do this device independent!
00 14 FDELETE Deletes a file or a directory
00 16 FINFO Inquires information to a certain file without to open it.
00 18 SFSTAT Changes various status information of a file
00 1a PARSE Checks the transferred file name for correctness and returns a correct absolute file name
00 1c MKDIR Creates a directory
00 1e OPENUNIQUE ??
00 20 STATUS DEVICE Gets information for a well-known device
00 22 PATHTEST Checked whether the indicated path name is correct or not.
00 24 STATUS SYSTEM Catches up general information from the file system.
00 26 CHANGEDIR Inquires the target directory, for a "cd" instruction
00 28 SFDATE The creation date of a file is set.
00 2a RESPONSE The response to the appropriate instruction is included.

Admitted restrictions

The RFSV Client built in the PSION 3c (for the access to the PC file system) can use long file names, but has however with problems with case sensitive file systems. The protocol covers the possibilities, but the implementation has here various errors.


Michael Piepers homepage
BeOS Programs
PalmBeach
PSION Link Protocol description


Many thanks to David Corn for correcting my English
Last modification Oct 3 1999 by Michael Pieper