@(#)readme, drvinmnt.xdd (c) jerry geiger Feb 1995

RSVF Gemdos Treiber unter MiNT

'rsvx.prg' kopiert den 'RSVF' cookie in einen 'RSVf' cookie, da MiNT
den 'RSVF' cookie frit welchen 'drvinmnt' jedoch zur Installation
braucht. 
hsminst.xdd installiert alle RSVF Treiber mit Gemdos Funktionalitt
also solche unter ihrem Namen in /dev/.
Damit es keine Namenskonflikte gibt, hngt 'hsminst.xdd' vor jeden Namen
ein HS (also MODEM1 wird zu HSMODEM1).
Treiber die keine Gemdos Funktionalitt haben werden als Bios Treiber
angemeldet. 

'hsminst' tut derzeit nicht viel anderes als 16 'Kanle' fr 16 RSVF Gemdos
Treiber zu verwalten, und jeweils die Routinen des zu einem dieser
'Kanle' gehrenden Treibers aufzurufen. Fr Identifikation der Kanle
verwendet es das 'aux' Feld aus der fc_cookie Struktur in der FILEPTR
Struktur. (Ich wei, das ist ein Nadelhr, aber zum Testen ist das egal;
irgendwann spter knnte das hsminst.xdd mal fr jeden HSMODEM
Gemdos-Treiber einen eigenen Treiber installieren, etwa ein hsmodem.xhs 
file starten ...) 

Bei Fread() aus Dateien die das O_NDELAY Flag gesetzt haben (Fopen mode
oder FSETFL)
kehrt der Treiber sofort zurck, wenn nicht gesetzt wird der Proze
eingeschlfert bis ein Zeichen anliegt.
Fr Fwrite() ist das noch nicht implementiert, d.h. Fwrite() kehrt
immer sofort zurck.

Fselect fr die driver handles funktioniert nur wenn es hinreichend oft
(d.h. mit rel kurzer timeout Zeit) aufgerufen wird, da es noch keine
Mglichkeit gibt die Kernel Routinen von den mir bekannten HSModem Treibern
aufzurufen.
Aus dem gleichen Grund gibt es auch kein SIGHUP bei carrier lost.


Installation:

Im Verzeichnis '/auto':
'drvin.prg', den/die Treiber und 'rsvx.prg' so hinein kopieren,
da zunchst 'drvin', dann die Treiber, danach 'rsvx', und das alles
unbedingt vor MiNT gestartet wird.

'hsminst.xdd' nach '/mint' bzw '/multitos' kopieren.


Ich bitte um Tests, Erweiterungs und nderungs Vorschlge. Was die
Funktionalitt der Treiber angeht sollte das mit Harun diskuiert werden.
Fr ernsthaft interessierte Tester(innen) habe ich hier auch zwei 
kleine Utilities dazu. 

neu ist: das Auswerten von O_NDELAY fr Fread(), und zwei Debug Fcntl()calls
eine genderte Treiber Tabelle: 
	(long)*rsvf-gemdos-functions, (short)flags, (short)moreflags
	und das 16 mal, fr alle mglichen Treiber
die Addresse der Tabelle ist fr debug Zwecke mit 
Fcntl(fh, &prt, (('X'<<8)|2)) zu kriegen, 
der MiNT FILEPTR mit  Fcntl(...(('X'<<8)|1))


-jerry
