P8000/WEGA/contrib/ingres/dbs/sys/man/libq

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).