English translation by Mick Lock verified by Peter West 1996,1997
-----------------------------------------------------------------


Data structure for testing and displaying additional possibilities of
         serial (and possibly other) communication routines
=====================================================================


Cookie
------
Name:  RSVF (RS232 version, Fast)
Value: Pointer to data structure
       pointer must be <>0 and point to an even address


Data structure
--------------
Any number of objects listed one after the other and saved. On the end of 
one list you can append another. On the end of the last list is a file 
terminator/end id.


Object
------
Each object is 8 Bytes long and begins at an even address. Bytes 0..3 are 
pointers to the names of the interfaces (Filename) in ASCII-Code. The name 
must start at an even address terminated with a 0. Bytes 4..7 contain 
attribute data for the object (the interface). Undefined Bits/bytes have 
to be set to 0 by the creating program. Should additional information be 
required in the future, it can be displayed using unused Bytes 4..7. The 
information itself must be placed before the interface name.


Special objects
---------------
Special objects are marked by Byte4.Bit7 =0.

End object:
 Byte 0..3  0, a NIL-pointer, typically marking the end of the Data 
 structure.
Link object:
 Byte 0..3  pointer to the next list of objects.


Attribute definitions by value
------------------------------
Byte 4:
 Bit7   =1: This name is an interface
 Bit6   =1: Interface is known to GEMDOS for File-I/O
 Bit5   =1: Interface is known to BIOS (Bco*-routines)
 The rest are reserved for future use.
 Bit0   =1: In front of the names (name address-4) is a pointer to an 
            array of pointers to the functions passed to Magic version3 
            function Dcntl.
Byte 5:
 For future use 
Byte 6:
 BIOS-number of the interface (Bco*-routines)
Byte 7:
 For future use


Purpose & Understanding
-----------------------
Communication programs can find out which interfaces are suitable for them 
by using RSVF. Furthermore they can identify the assignment of 
GEMDOS-device driver name (in U:\DEV\) to the BIOS-device number.


Minimum requirements for driver with GEMDOS-Bit set
---------------------------------------------------
Fopen, Fclose, Fread, Fwrite, Fcntl are handled. When a function (or sub 
function of a Fcntl) is not available, an errorcode (possibly -32 (EINVFN) 
must be returned.

Fopen must be used using the full path "U:\DEV\devicename".
Constructs with Dsetdrv and Dsetpath are NOT PERMITTED.

Fcntl has the function number $0104 and the parameters:

handle, special, subfunction

handle:      16Bit filehandle
special:     32Bit parameter for subfunction
subfunction: 16Bit number of subfunction


Functions
---------
The functions are defined in the Text file SERSOFST.TXT. Some are already 
supported by my drivers. See SERSOFST.TXT for more details of these (non 
Atari-official, still?) Standards.


Harun Scheutzow, 16.05.1993
last alteration: 21.11.1993
(02.01.1993: Text layout only)
added Byte4.Bit0: 20.08.1994
Harun_Scheutzow@B.Maus.De

Harun Scheutzow
Dresdener Strae 83
D-10179 Berlin, Germany
