     LIBAMX(FILES)                DABA16                 LIBAMX(FILES)

     NAME

          libamx - AMX-Laufzeit-Bibliothek


     BESCHREIBUNG
          Das AMX-Interface von DABA besteht aus dem AMX-Compiler  amx
          und   der   AMX-Laufzeit-Bibliothek.    Diese  AMX-Laufzeit-
          Bibliothek wird als .../lib/libamx bereitgestellt.

          Nachfolgend werden einige Funktionen beschrieben,  die  auch
          vom  C-Programmierer genutzt werden koennen, um doppelte Co-
          dierung zu vermeiden.

          Alle AMX-Funktionen (auch hier nicht beschriebene, aber  in-
          tern  verwendete)  sind durch das Praefix AA gekennzeichnet,
          weshalb andere  Nutzerfunktionen  niemals  mit  AA  beginnen
          sollten.

          Fuer die nachfolgende Beschreibungen gelten einige allgemei-
          nen Hinweise.

          Fuer die Zahlenangaben gelten folgende Spezifikationen:

          Float-zahl:
               {sp}[+/-]{sp}{Ziffer}[. Ziffer]{sp}[exp]
               wobei "sp" ein Leerzeichen, exp=[e/E]int  der  Exponent
               und  int eine Integer Zahl im Sinne der Konvertierungs-
               funktion atoi ist.

          Integer-Zahl:
               {sp}[+{-]{sp}{Ziffer}{sp}

          Long-Integer-Zahl
               {sp}[+/-]{sp}{Ziffer}{sp}



          :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

     NAME
          AAatof - konvertiert eine Zeichenkette in eine Float-Zahl

     UeBERSICHT
          AAatof (str, val)
          char    *str;
          double  *val;

     BESCHREIBUNG
          AAatof konvertiert eine durch str  adressierte  Zeichenkette
          in  eine  Float-Zahl.  Das  Ergebnis  steht in der durch val
          adressierten Variablen.
          return: 8
          -1  Syntaxfehler
          0  keine Fehler
          1  Ueberlauf

     SIEHE AUCH
          AAatoi()

          :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

     NAME
          AAatol - konvertiert eine Zeichenkette in eine Long-Zahl

     UeBERSICHT
          AAatol (str, val)
          char    *str;
          int     *val;




     BESCHREIBUNG
          AAatol konvertiert eine durch str  adressierte  Zeichenkette
          in eine 32-Bit Long-Integer-Zahl.  Das Ergebnis steht in der
          durch val adressierten Variablen.
          return: 8
          -1  Syntaxfehler
          0  keine Fehler
          1  Ueberlauf

          :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

     NAME
          AAbequal - Test auf Blockgleichheit

     UeBERSICHT
          AAbequal (a, b, l)
          char    *a, *b;
          int     l;

     BESCHREIBUNG
          AAbequal testet zwei Bloecke a und b , beide in der Laenge l
          , auf Gleichheit.
          return: 8
          1  bei Gleichheit
          0  bei Ungleichheit

          :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

     NAME
          AAbmove - Block Transport

     UeBERSICHT
          char *AAbmove (a, b, l)
          char    *a, *b;
          int     l;

     BESCHREIBUNG
          AAbmove transportiert l Bytes von a nach b.

     FEHLERQUELLEN
          Die Sinnfaelligkeit von l und ein  Ueberlauf  von  b  werden
          nicht geprueft.
          "Return" erfolgt mit der Adresse des (l+1)-ten Elementes von
          b.

          :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::




     NAME
          AAiocv - konvertiert eine Integer-Zahl in eine Zeichenkette

     UeBERSICHT
          AAiocv (i)
          int   i;

     BESCHREIBUNG
          AAiocv konvertiert die Integer-Zahl i in eine  Zeichenkette.
          Das  Ergebnis  wird in einem internen statischen Bereich ge-
          speichert,  dessen  Adresse  durch  "return"  zurueckgegeben
          wird.

     SIEHE AUCH
          AAitoa ()

          :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

     NAME
          AAitoa - konvertiert 16-Bit Integerzahl in Zeichenkette





     UeBERSICHT
          AAitoa (i, str)
          int     i;
          char    *str;

     BESCHREIBUNG
          AAitoa konvertiert die Integer-Zahl i in eine 7  Byte  lange
          Zeichenkette, die in dem durch str adressierten Feld gespei-
          chert wird.

          :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

     NAME
          AAlength - ermittelt die Laenge einer Zeichenkette

     UeBERSICHT
          AAlength (str)

          char    *str;

     BESCHREIBUNG
          AAlength ermittelt die Anzahl der Bytes einer  Zeichenkette,
          mit  Ausnahme  des  die Kette abschliessenden Null-Bytes und
          gibt diese durch "return" zurueck.

          :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

     NAME
          AAscompare - vergleicht zwei Zeichenketten

     UeBERSICHT
          AAscompare (stra, la, strb, lb)
          char    *stra, *strb;
          int     la, lb;

     BESCHREIBUNG
          AAscompare vergleicht zwei Zeichenketten stra und  strb  auf
          der  Basis ihres ascii-Codes. Die Anzahl der zu vergleichen-
          den Zeichen wird durch la bzw. lb definiert.   Die  Zeichen-
          kettenlaengen  sollten  mindestens so gross, wie die angege-
          benen Vergleichslaengen la und lb sein, andernfalls wird als
          Vergleichswert das Nullbyte benutzt.
          Werden die Laengen la und lb mit dem Wert Null angegeben, so
          wird  dafuer  automatisch  ein Maximalwert  (32767) benutzt.
          Ebenso wird, falls la und lb ungleich sind, fuer  die  Kette
          mit der kleineren Vergleichslaenge das Nullbyte zum Verglei-
          ch benutzt.  Leerzeichen werden uebergangen.
          return: 8
          -1 stra < strb
           0 stra = strb
           1 stra > strb

          :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

     NAME
          AAsmove - Zeichenkette transportieren

     UeBERSICHT
          AAsmove (str, b)
          char   *str, *b;

     BESCHREIBUNG
          AAsmove transportiert die Zeichenkette str zum Block b.
          "Return" erfolgt mit der Laenge der transportierten Zeichen-
          kette.

          :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

     NAME
          AAsyserr - Systemfehlermitteilung und Abbruch





     UeBERSICHT
          AAsyserr (ptr)
          char    *ptr;

     BESCHREIBUNG
          AAsyserr liefert eine Fehlermitteilung ueber Standardausgabe
          und  bricht im Normalfall durch Aufruf der Funktion exit ab.
          Argumente fuer AAsyserr sind in der gleichen  Form  wie  bei
          printf  anzugeben. Sie sind allerdings in ihrer Anzahl auf 5
          beschraenkt.  AAsyserr unterscheidet zwei Aufrufarten:
          1.   der erste Parameter ist Null  (die folgenden  Parameter
               wie  bei  printf ), dann wird genau die printf Funktion
               verwirklicht.
          2.   Der erste Parameter ist nicht Null (also alle Parameter
               wie  bei printf ), dann wird mit Hilfe der externen Va-
               riablen char *Proc_name und int error  eine  erweiterte
               Fehlerprotokollierung verwirklicht.

               :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
               NAME  AAztack - Zeichenkettenverknuepfung in einem Puf-
               fer




     UeBERSICHT
          char AAztack (stra, strb)
          char    *stra;
          char    *strb;

     BESCHREIBUNG
          verbindet die Zeichenketten stra und strb  in  einem  stati-
          schen Pufferbereich zu einer Zeichenkette.
          "Return" erfolgt mit der Anfangsadresse des Puffers.
          Bei Pufferueberlauf wird mittels der Funktion  AAsyserr  der
          Fehlersachverhalt "ztack overflow" und der Pufferinhalt mit-
          geteilt.  Der Puffer fasst maximal 100  Zeichen,  wobei  das
          Programm so angelegt ist, dass erst nach dem Umspeichern der
          Zeichenkette in den Puffer auf Ueberlauf getestet wird.  Ein
          rekursiver     Aufruf     von     AAztack    ist    moeglich
          (AAztack(AAztack(x, y), z)).

     SIEHE AUCH
          AAsyserr()
