270 lines
8.0 KiB
Plaintext
270 lines
8.0 KiB
Plaintext
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()
|