del_curterm(3X) del_curterm(3X)
NAME
delcurterm, restartterm, setcurterm, setupterm - Schnittstellen zur
Datenbasis terminfo
SYNTAX
cc [flag ...] file ... -lcurses [library ...]
#include <term.h>
int delcurterm(TERMINAL *oterm);
int restartterm(char *term, int fildes, int *errret);
TERMINAL *setcurterm(TERMINAL *nterm);
int setupterm(char *term, int fildes, int *errret);
BESCHREIBUNG
Diese Funktionen rufen Informationen aus der Datenbasis terminfo(4)
ab.
Für den Zugriff auf die Datenbasis terminfo muß zunächst setupterm()
aufgerufen werden. Diese Funktion wird von den Funktionen initscr()
und newterm() automatisch aufgerufen. Die Funktion setupterm() initia-
lisiert die anderen Funktionen, die den terminfo-Datensatz für ein
angegebenes Terminal verwenden (abhängig davon, ob zuvor useenv()
aufgerufen wurde). Hiermit wird die externe Variable curterm auf eine
Struktur TERMINAL gesetzt, die den Datensatz aus der Datenbasis
terminfo für das angegebene Terminal enthält.
Der Zeichen-String term steht für den Terminaltyp. Wenn term ein Null-
zeiger ist, wird die Umgebungsvariable TERM verwendet. Wenn TERM nicht
gesetzt oder der Wert ein leerer String ist, wird "unknown" (unbe-
kannt) als Terminaltyp verwendet. Die Anwendung muß fildes auf einen
Dateideskriptor setzen, der für die Ausgabe an das Terminalgerät
geöffnet ist, bevor setupterm() aufgerufen wird. Wenn errret nicht
null ist, wird die Ganzzahl, auf die errret zeigt, auf einen der fol-
genden Werte gesetzt, die das Ergebnis der Funktion melden:
-1 Die Datenbasis terminfo wurde nicht gefunden (die Funktion schlägt
fehl).
0 Der Eintrag für das Terminal wurde in terminfo nicht gefunden (die
Funktion schlägt fehl).
1 Erfolgreiche Ausführung.
Wenn setupterm() einen Fehler findet und errret ein Null-Zeiger ist,
schreibt setupterm() eine Diagnosemeldung und wird beendet.
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
del_curterm(3X) del_curterm(3X)
Ein einfacher Aufruf von setupterm(), der alle Voreinstellungen ver-
wendet und die Ausgabe an stdout sendet, lautet:
setupterm((char *)0, fileno(stdout), (int *)0);
Die Funktion setcurterm() setzt die Variable curterm auf nterm und
erreicht so, daß alle booleschen, numerischen und String-Variablen von
terminfo die Werte aus nterm verwenden.
Die Funktion delcurterm gibt Speicherplatz, auf den oterm zeigt, zur
weiteren Verwendung frei. Wenn oterm und curterm identisch sind, kön-
nen anschließende Verweise auf die booleschen, numerischen und
String-Variablen von terminfo solange auf ungültige Speicherpositionen
zeigen, bis setupterm() erneut aufgerufen wird.
Die Funktion restartterm geht davon aus, daß zuvor setupterm() aufge-
rufen wurde (möglicherweise von initscr() oder newterm()). Hiermit
kann die Anwendung einen anderen Terminaltyp in term angeben und die
von der Funktion baudrate() zurückgegebenen Daten werden basierend auf
fildes aktualisiert; hierbei werden keine anderen von initscr(),
newterm() oder setupterm() erstellten Daten zerstört.
RÜCKGABEWERT
Nach erfolgreicher Ausführung gibt die Funktion setcurterm() den vor-
herigen Wert von curterm zurück. Andernfalls wird ein Null-Zeiger
zurückgegeben.
Die anderen Funktionen geben bei erfolgreicher Ausführung den Wert OK
zurück. Andernfalls wird der Wert ERR zurückgegeben.
FEHLER
Es sind keine Fehlerzuordnungen definiert.
HINWEISE
Eine Anwendung ruft die Funktion setupterm() auf, wenn sie auf die
Datenbasis terminfo zugreifen muß, Curses ansonsten aber nicht benö-
tigt.
SIEHE AUCH
putc(3S), baudrate(3X), curses(3X), erasechar(3X), hasic(3X),
longname(3X), termattrs(3X), termname(3X), tgetent(3X), tigetflag(3X),
useenv(3X), terminfo(4), term(5).
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98