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 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  programmes 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 Straže 83
D-10179 Berlin, Germany

