home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 1 / crawlyvol1.bin / telecomm / hsmoda04 / rsvf_coo.txt < prev    next >
Text File  |  1994-01-02  |  6KB  |  191 lines

  1. Datenstruktur zur Abfrage und Anzeige zusätzlicher Möglichkeiten der 
  2. seriellen (und evtl. sonstiger) Kommunikationsroutinen
  3. ====================================================================
  4.  
  5. (Note for the English reading people: The English version is appended on 
  6. the German, look for it!)
  7.  
  8. Cookie
  9. ------
  10. Name: RSVF  (RS232 Version Fast)
  11. Wert: Zeiger auf Datenstruktur
  12.       Zeiger muβ <>0 sein und auf gerade Adresse weisen
  13.  
  14. Datenstruktur
  15. -------------
  16. Beliebig viele Objekte sind als Liste hintereinander abgelegt. An das Ende 
  17. einer Liste kann über eine Verkettung eine weitere Liste angehängt sein. 
  18. Am Ende der letzten Liste befindet sich eine Ende-Kennung.
  19.  
  20. Objekt
  21. ------
  22. Jedes Objekt ist 8 Byte lang und beginnt auf einer geraden Adresse. 
  23. Byte 0..3 sind ein Zeiger auf den Namen der Schnittstelle (Filename) im 
  24. ASCII-Code. Der Name muß auf einer geraden Adresse beginnen und ist 
  25. nullterminiert.
  26. Byte 4..7 enthalten Angaben über die Eigenschaften des Objektes (der 
  27. Schnittstelle). Noch nicht definierte Bits/Bytes müssen vom anlegenden 
  28. Programm auf 0 gesetzt werden.
  29. Sollten irgendwann zusätzliche Informationen nötig werden, so wird deren 
  30. Vorhandensein auf noch zu definierende Weise in Byte 4..7 angezeigt. Die 
  31. Informationen selbst liegen dann vor dem Namen der Schnittstelle.
  32.  
  33. Besondere Objekte
  34. -----------------
  35. Bei besonderen Objekten ist Byte4.Bit7 =0.
  36. Ende-Objekt:
  37.  Byte 0..3  0, ein NIL-Zeiger, kennzeichnet das Ende der Datenstuktur  
  38. Verkettungsobjekt:
  39.  Byte 0..3  Zeiger auf die nächste Liste mit Objekten.
  40.  
  41. Eigenschaftsdefinitionen im Wert
  42. --------------------------------
  43. Byte 4:
  44.  Bit7  =1: dieser Name ist eine Schnittstelle
  45.  Bit6  =1: Schnittstelle ist dem GEMDOS für File-I/O bekannt
  46.  Bit5  =1: Schnittstelle ist dem BIOS bekannt (Bco*-Routinen)
  47.  für den Rest fällt uns noch was ein (Fähigkeiten der Schnittstelle)
  48. Byte 5:
  49.  noch frei 
  50. Byte 6:
  51.  BIOS-Nummer der Schnittstelle (Bco*-Routinen)
  52. Byte 7:
  53.  noch frei
  54.  
  55.  
  56. Sinn und Zweck
  57. --------------
  58. Kommunikationsprogramme können durch RSVF herausfinden, welche 
  59. Schnittstellen für sie geeignet erscheinen. Außerdem erfahren sie die 
  60. Zuordnung von GEMDOS-Gerätetreibername (in U:\DEV\) zur BIOS-Gerätenummer.
  61.  
  62.  
  63. Mindestforderung an Treiber bei gesetztem GEMDOS-Bit
  64. ----------------------------------------------------
  65. Fopen, Fclose, Fread, Fwrite, Fcntl werden behandelt. Falls eine Funktion 
  66. (oder auch Unterfunktion von Fcntl) nicht vorhanden ist, muβ dafür ein 
  67. Fehlercode (mglst. Fehlercode -32 (EINVFN)) geliefert werden.
  68.  
  69. Fopen darf immer nur mit dem vollen Pfad "U:\DEV\devicename" erfolgen. 
  70. Konstruktionen mit Dsetdrv und Dsetpath sind UNZULÄSSIG.
  71.  
  72. Fcntl hat die Funktionsnummer $0104 und die Parameter:
  73. handle, special, subfunction
  74. handle:      16Bit filehandle
  75. special:     32Bit parameter for subfunction
  76. subfunction: 16Bit number of subfunction
  77.  
  78.  
  79. Funktionen
  80. ----------
  81. Die Funktionen sind im Textfile
  82. SERSOFST.TXT
  83. definiert. Einige werden von meinen Treibern schon unterstützt. Siehe 
  84. SERSOFST.TXT zu Einzelheiten und zum Status dieses (noch? nicht 
  85. Atari-offiziellen) Standards.
  86.  
  87.  
  88. Harun Scheutzow, 16.05.1993
  89. letzte Änderung: 21.11.1993 (02.01.1993: nur Textaufteilung)
  90.  
  91. Harun_Scheutzow@B.maus.de
  92.  
  93. Harun Scheutzow
  94. Dresdener Straße 83
  95. D-10179 Berlin, Deutschland
  96.  
  97.  
  98.  
  99. Data structure for request and display of additional possibilities of
  100. serial (and possibly other) communication routines
  101. =====================================================================
  102.  
  103. (Translated from German to English on 1994-01-02 by Harun Scheutzow)
  104.  
  105. Cookie
  106. ------
  107. Name:  RSVF  (RS232 Version Fast)
  108. Value: Pointer to data structure
  109.        pointer must be <>0 and point to an even address
  110.  
  111. Data Structure
  112. --------------
  113. No matter how much objects can be placed one after the other as a list. On 
  114. the end of the list a further list can be appended. On the end of the last 
  115. list there is an end-object.
  116.  
  117. Object
  118. ------
  119. Every object is 8 byte long and starts on an even address. Byte 0..3 
  120. are a pointer to the name of the interface (filename) in ASCII. The Name 
  121. has to start on an even address and is 0-terminated.
  122. Byte 4..7 contain information about the attributes of the object (the 
  123. interface). Not yet defined bits/bytes must be setted to 0 by the creating 
  124. program.
  125. Should additional information become necessary in the future, its 
  126. existence will be displayed by some bits in byte 4..7. The information 
  127. itself will lay in front of the name of the interface.
  128.  
  129. Outstanding Objects
  130. -------------------
  131. Outstanding objects are marked by bute4.bit7 =0.
  132. end-object:
  133.  byte 0..3  0, a NIL-pointer, marks the end of the data structure
  134. link-object:
  135.  byte 0..3  pointer to the next list of objects
  136.  
  137. Attribut definitions in the value
  138. ---------------------------------
  139. Byte 4:
  140.  Bit7  =1: this name is an interface
  141.  Bit6  =1: this interface is known to the GEMDOS for fileI/O
  142.  Bit5  =1: this interface is known to the BIOS (Bco*-routines)
  143.  for the remainder we will have ideas in the future
  144. Byte 5:
  145.  free for future use
  146. Byte 6:
  147.  BIOS-number of the interface (Bco*-routines)
  148. Byte 7:
  149.  free for future use
  150.  
  151.  
  152. Sence and Purpose
  153. -----------------
  154. Communication programs can find out which interfaces suit themselves by 
  155. using RSVF. Additional they get to know the assignment GEMDOS-interface 
  156. name (in U:\DEV\) to BIOS-device number.
  157.  
  158.  
  159. Least demands for driver with GEMDOS-bit set
  160. --------------------------------------------
  161. Fopen, Fclose, Fread, Fwrite, Fcntl are managed. If a function (or 
  162. subfunction of Fcntl too) is not available, an error code (-32 (EINVFN) or 
  163. so) must be returned.
  164.  
  165. Fopen is only allowed with the full path "U:\DEV\devicename". 
  166. Constructions with Dsetdrv and Dsetpath are PROHIBITED.
  167.  
  168. Fcntl has the function number $0104 and the parameter:
  169. handle, special, subfunction
  170. handle:      16Bit filehandle
  171. special:     32Bit parameter for subfunction
  172. subfunction: 16Bit number of subfunction
  173.  
  174.  
  175. Functions
  176. ---------
  177. The functions are defined in the text file
  178. SERSOFST.TXT
  179. Some are supported by my drivers until now. See SERSOFST.TXT about details 
  180. and status of this (until now? not offical Atari) standards.
  181.  
  182.  
  183. Harun Scheutzow, 16.05.1993
  184. last change: 21.11.1993 (02.01.1993: only text layout)
  185.  
  186. Harun_Scheutzow@B.maus.de
  187.  
  188. Harun Scheutzow
  189. Dresdener Straße 83
  190. D-10179 Berlin, Deutschland
  191.