136 lines
5.8 KiB
Plaintext
136 lines
5.8 KiB
Plaintext
LIBQ(FILES) DABA16 LIBQ(FILES)
|
|
|
|
NAME
|
|
libq - EQL Laufzeit-Bibliothek
|
|
|
|
BESCHREIBUNG
|
|
Libq ist die EQL-Laufzeit-Bibliothek, die alle Routinen ent-
|
|
haelt, die fuer das Laden eines EQL-Programmes notwendig
|
|
sind. Die Routinen befinden sich bei der Auslieferung in
|
|
der Bibliothek .../lib/libq.a, die durch die Installation
|
|
standardmaessig nach /usr/lib kopiert werden muss (als
|
|
/usr/lib/libq.a ). Diese Bibliothek muss beim Verbinden
|
|
(Linken) der Objektmoduln spezifiziert werden. Das erfolgt
|
|
beim cc Aufruf durch die -lq Spezifikation.
|
|
|
|
Verschiedene hilfreiche Routinen, die durch die EQL-Prozesse
|
|
verwendet werden, sind in der Bibliothek enthalten. Diese
|
|
koennen durch den EQL-Programmierer verwendet werden, um
|
|
eine doppelt Codierung zu vermeiden.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Es gibt :
|
|
|
|
int IIatoi(buf, i)
|
|
char *buf;
|
|
int i;
|
|
|
|
char *IIbmove(source, destination, len)
|
|
char *source, *destination;
|
|
int len;
|
|
|
|
char *IIconcatv(buf, arg1, arg2, ..., 0)
|
|
char *buf, *arg1, ...;
|
|
|
|
char *IIitos(i)
|
|
int i;
|
|
|
|
int IIsequal(s1, s2)
|
|
char *s1, *s2;
|
|
|
|
int IIlength(string)
|
|
char *string;
|
|
|
|
IIsyserr(string, arg1, arg2, ...);
|
|
char *string;
|
|
|
|
|
|
IIatoi konvertiert eine durch buf adressierte Zeichen-
|
|
kette in die Festkommazahl (Integer) i. Es wird
|
|
-1 bei Syntaxfehler, 0 bei keinem Fehler oder 1
|
|
bei Ueberlauf zurueckgegeben.
|
|
|
|
IIbmove Uebertraegt len Bytes von der Quelle (source)
|
|
zum Ziel (destination), wobei ein Pointer zu-
|
|
rueckgegeben wird, der auf die Lokalisation nach
|
|
dem letzten uebertragenen Byte verweist. Es
|
|
wird kein Null-Byte angehangen, und es erfolgen
|
|
auch keine Pruefungen von len und destination.
|
|
|
|
IIconcatv Verkettet nach buf alle seine Argumente, wobei
|
|
ein Pointer auf das Null-Byte am Ende der Kette
|
|
zurueckgegeben wird. Buf darf nicht mit einem
|
|
der arg-n (ausser arg1) uebereinstimmen.
|
|
|
|
IIitos konvertiert eine Festkommazahl (Integer) in eine
|
|
Zeichenkette (String) und gibt diese zurueck.
|
|
|
|
IIsequal Gibt 1 zurueck (ansonsten 0), wenn die Strings
|
|
s1 und s2 identisch sind.
|
|
|
|
IIlength Gibt die maximale Laenge des String string (ohne
|
|
das Null-Byte am Ende) zurueck (Maximum : 255).
|
|
|
|
IIsyserr IIsyserr liefert eine Fehlermitteilung ueber die
|
|
Standardausgabe und bricht stets mit dem Aufruf
|
|
der Funktion exit(-1) nach der Ausgabe der Feh-
|
|
lernachricht ab. Die Argumente fuer IIsyserr
|
|
sind in der gleichen Form wie bei der C-Funktion
|
|
"printf" spezifizierbar, wobei ihre Anzahl auf 5
|
|
beschraenkt ist.
|
|
|
|
Es gibt auch einige globale EQL-Variable, die durch den Nut-
|
|
zer manipuliert werden koennen :
|
|
|
|
int IIerrflag;
|
|
char *IImainpr;
|
|
char (*IIprint_err)();
|
|
int IIret_err();
|
|
int IIno_err();
|
|
|
|
|
|
IIerrflag Wird von DABA bei einem Fehler auf die Fehler-
|
|
nummer gesetzt. Dieses Flag ist gueltig vom
|
|
Zeitpunkt des Auftretens des Fehlers bis zur Be-
|
|
nutzung der naechsten EQL-Anweisung. Es kann
|
|
unmittelbar nach einer EQL-Anweisung benutzt
|
|
werden, um festzustellen, ob sie erfolgreich
|
|
war.
|
|
|
|
IImainpr Das ist ein String, der bestimmt, von wo daba
|
|
aufgerufen worden ist, wenn eine "## daba"-
|
|
Anweisung verwendet wurde. Standardmaessig ist
|
|
es "/mnt/daba".
|
|
|
|
IIprint_err Dieser Funktions-Pointer wird benutzt, um eine
|
|
Funktion aufzurufen, die bestimmt, ob (wenn vor-
|
|
handen) Fehlernachrichten ausgegeben werden sol-
|
|
len, wenn ein daba-Fehler aufgetreten ist. Er
|
|
wird von IIerror() mit der Fehlernummer als ein
|
|
Argument aufgerufen, und die Fehlernachricht,
|
|
die mit der zurueckgegebebnen Fehlernummer kor-
|
|
respondiert, wird ausgegeben. Wenn
|
|
(*IIprint_err)(<errno> ) 0 zurueckgibt, wurde
|
|
keine Fehlernachricht ausgegeben. Anfaenglich
|
|
wird IIprint_err auf IIret_err() gesetzt, um den
|
|
aufgetretenen Fehler auszugeben.
|
|
|
|
IIret_err Gibt sein einfaches Integer-Argument zurueck.
|
|
Es wird benutzt, um (*IIprint_err)() zu veran-
|
|
lassen, die Ausgabe des aufgetretenen Fehlers
|
|
auszufuehren.
|
|
|
|
IIno_err Gibt 0 zurueck. Es wird benutzt, damit (*II-
|
|
print_err)() die Ausgabe der Fehlernachricht un-
|
|
terdrueckt. IIno_err wird benutzt, wenn in ei-
|
|
ner parametrisierten EQL-Anweisung ein Fehler
|
|
auftritt und unterdrueckt die Ausgabe des korre-
|
|
spondierenden Parser-Fehlers.
|
|
|
|
SIEHE AUCH
|
|
eql(daba), eqc(mutos).
|