                  Dokumentation zur Fastcall.library V2.3
                 ------------------------------------------

Programmstart
~~~~~~~~~~~~~~~~~~~~~

*** Achtung diese FastCall Library läuft nur vollständig ab FastCallversion
*** 2.196D und höher!

Im Editor muß die Übergabe auf AREXX/FASTCALL gestellt werden.
Der Eintrag bei Pfad+Name sieht so aus:

RUN PROGRAMM $PO

Das RUN ist wichtig, damit Fastcall weiterhin aktiv bleibt.
Das $PO ist wichtig, damit das externe Programm die richtige
Schnittstelle öffnet.

Vorteile der Library
~~~~~~~~~~~~~~~~~~~~~

Alle Programme, die mit der Library geschrieben werden sind Multiportfähig
und laufen auf dem entspechenden Boxscreen ab. Ausserdem werden alle
Vorteile von Fastcall (besonders die Eingaberoutine) unterstützt.

History
~~~~~~~~
- V1.31 

  GETCHAR und COMMAND neu eingebaut

- V2.0

  AREXX eingebaut

- V2.1

  Fehler im ArexxHandling behoben

-----------------------------------------------------------------------------
Funktion  : Fastcallport = OpenFastCall(Portnummer)
                                            d0
Offset    : -30

Portnummer: von 0-9 (0 = Mainport)

Erklärung : Öffnet den Fastcall Port (geht nur wenn man von Fastcall
            ein externes Programm startet (über EXTERN/SPECIAL COMMAND).
	    Dieses muß immer ganz am Anfang erledigt werden.
-----------------------------------------------------------------------------
Funktion  : CloseFastCall(Fastcallport)
                               d0
Offset    : -36

Erklärung : Schließt die Fastcall Schnittstelle. Dies muß(!) immer am
	    Ende gemacht werden.
-----------------------------------------------------------------------------
Funktion  : Send(Fastcallport,String)
	             d0         a0
Offset    : -42

String    : Zeiger auf einen mit 0 abgeschlossenen String

Erklärung : Diese Funktion sendet den Text mit Umlautumwandlung
            über das Modem und auf den Bildschirm.
-----------------------------------------------------------------------------
Funktion  : Read(Fastcallport,Zeichen,Buffer)
		      d0        d1      a0
Offset    : -48

Zeichen   : Anzahl der Zeichen, die maximal eingegeben werden dürfen.

Buffer    : Zeiger auf einen Buffer, in den Fastcall das Ergebnis (den
            eingegebenen String) schreibt.

Erklärung : Mit dieser Funktion kann man beliebig viele Zeichen eingeben 
            lassen. Das Ergebnis im Buffer ist IMMER mit einem 0-Byte 
            abgeschlossen.
-----------------------------------------------------------------------------
Funktion  : BlueRead(Fastcallport,Zeichen,Buffer)
		      d0        d1      a0
Offset    : -54

Zeichen   : Anzahl der Zeichen, die maximal eingegeben werden dürfen.

Buffer    : Zeiger auf einen Buffer, in den Fastcall das Ergebnis (den
            eingegebenen String) schreibt.

Erklärung : Mit dieser Funktion kann man beliebig viele Zeichen eingeben 
            lassen. Das Ergebnis im Buffer ist IMMER mit einem 0-Byte 
	    abgeschlossen.
	    Einziger Unterschied zu READ: Es wird der Raum, auf dem man
            schreiben darf, blau unterlegt.
-----------------------------------------------------------------------------
Funktion  : Quit(Fastcallport)
                     d0
Offset    : -60

Erklärung : Diese Funktion muß vor dem Schliesßen den Fastcallports
            aufgerufen werden. Sie signalisiert Fastcall, daß das externe
            Programm beendet ist.
-----------------------------------------------------------------------------
Funktion  : Emulation=AnsiStatus(Fastcallport)
                           d0
Offset    : -66

Emulation : 0 bedeutet Ansi aus / 1 bedeutet Ansi an

Erklärung : Hiermit kann man erkunden, ob der User Ansi angeschaltet hat.
-----------------------------------------------------------------------------
Funktion  : AskUser(Fastcallport,buffer)
                         d0        a0
Offset    : -72

Buffer    : Hier steht nach Aufruf der Funktion der Name des
            Users, der das Programm gestartet hat, mit einem 
            0-Byte abgeschlossen.

Erklärung : Hiermit kann man den Usernamen erfragen.
-----------------------------------------------------------------------------
Funktion  : Level=AskLevel(Fastcallport)
                               d0
Offset    : -78

Erklärung : gibt den Userlevel in d0 zurueck
-----------------------------------------------------------------------------
Funktion  : Logtyp=AskLog(Fastcallport)
                               d0
Offset    : -84

Erklärung : Logtyp=0 wenn von Console / 1 wenn von aussen
-----------------------------------------------------------------------------
Funktion  : AskBoxname(Fastcallport,Buffer)
                                    d0        a0
Offset    : -90

Erklärung : gibt den Boxnamen in Buffer
-----------------------------------------------------------------------------
Funktion  : ReceiveFile(Fastcallport)
                             d0
Offset    : -96

Erklärung : Loadet ein File (bzw. Files) in das aktuelle Directory down.
	    Filename muß der Programmierer selbst über z.b. Dir oder so
            rausbekommen, da auch mehrere Files kommen können 
            ( Batchdownload ).
-----------------------------------------------------------------------------
Funktion  : Sendfile(Fastcallport,File)
                           d0      a0
Offset    : -102

File      : Zeiger auf den mit einem 0-Byte abgeschlossenen Filenamen
	    Also Zeiger auf das File, das gesendet werden soll.
Erklärung : Diese Funktion sendet ein File an den User.
-----------------------------------------------------------------------------
Funktion  : Carrier=CheckCarrier(FastcallPort)
                                      d0
Offset    : -108

Erklärung : Diese Funktion gibt in Carrier eine 0 zrueck, wenn kein Carrier
            da ist, sonst 1
-----------------------------------------------------------------------------
Funktion  : Typefile(Fastcallport,Filename)
                          d0          a1
Offset    : -114

Filename  : ist ein Zeiger auf einen Filenamen, mit einem 0-Byte
            abgeschlossen.
Erklärung : gibt einen längeren Text übeer die Serielle aus.
            (z.b. mit Paging etc.)
-----------------------------------------------------------------------------
Funktion  : GetChar(Fastcallport,Buffer)
		      d0           a0
Offset    : -120

Buffer    : Zeiger auf einen Buffer, in den Fastcall das Ergebnis (den
            eingegebenen Buchstaben) schreibt.

Erklärung : Diese Funktion springt immer SOFORT zurück! Wenn der User also
            nichts gedrückt hat, wird auch nur ein 0 Byte zurück gegeben!
            Diese Funktion ist also nur in einer Schleife sinnvoll!
            Sie liefert wenn überhaupt in den Buffer einen Buchstaben + 0 Byte 
            zurück. Wenn nichts gedrückt wurde halt nur ein 0 Byte
-----------------------------------------------------------------------------
Funktion  : Command(Fastcallport,String)
	              d0          a0
Offset    : -126

String    : Zeiger auf einen mit 0 abgeschlossenen String
            Dieser String muss ein FastCall Befehl wie B * oder so etwas
            sein!

Erklärung : Diese Funktion führt den angegeben FastCall Befehl aus!
            Man kann FastCall also komplett steuern!
-----------------------------------------------------------------------------
Funktion  : Arexx(Fastcallport,String,Buffer)
	              d0         a0     a1
Offset    : -132

String    : Zeiger auf einen mit 0 abgeschlossenen String
            Dieser String muss ein FastCall Arexx-Befehl wie US_VN oder so etwas
            sein!

            Beispiel: würde man als STRING "US_VN" übergeben, bekäme man
            den Vornamen des Users im Buffer. Würde man als STRING 
            "US_VN Martin" machen, hiesse der momentan eingeloggt User
            MARTIN (ab dann), es käme allerdings keine Rückmeldung.. der
            Buffer bleibt leer dabei. 
  
            Die Arexx Befehle, entnehmen Sie bitte der FastCall Anleitung!
Buffer    : Hier kommt (wenn überhaupt) eine Antwort des Arexx Befehles
            z.B. bei US_VN der Vorname des Users
Erklärung : Diese Funktion führt den angegeben FastCall Befehl aus!
            Man kann FastCall also komplett steuern!
-----------------------------------------------------------------------------
