initscr(3X) initscr(3X)
NAME
initscr, newterm - Funktionen zum Initialisieren des Bildschirms
SYNTAX
cc [flag ...] file ... -lcurses [library ...]
#include <curses.h>
WINDOW *initscr(void);
SCREEN *newterm(char *type, FILE *outfile, FILE *infile);
BESCHREIBUNG
Die Funktion initscr() ermittelt den Terminaltyp und initialisiert
alle Datenstrukturen der Implementierung. Die Umgebungsvariable TERM
gibt den Terminaltyp an. Durch die Funktion initscr() wird außerdem
bei der ersten Aktualisierung der Bildschirminhalt gelöscht. Wenn Feh-
ler auftreten, schreibt initscr() eine entsprechende Fehlermeldung auf
die Standardfehlerausgabe und verläßt das Programm. Die einzigen Funk-
tionen, die vor initscr() oder newterm() aufgerufen werden können sind
filter(), ripoffline(), slkinit(), useenv() sowie die Funktionen,
deren Prototypen in <term.h> definiert sind. Portierbare Anwendungen
dürfen initscr() nicht zweimal aufrufen.
Die Funktion newterm() kann beliebig oft aufgerufen werden, um ein
Terminalgerät anzuhängen. Das Argument type zeigt normalerweise auf
einen String, der den Terminaltyp angibt. Nur wenn type ein Null-
Zeiger ist, wird statt dessen die Umgebungsvariable TERM verwendet.
Die Argumente outfile und infile sind Zeiger auf Dateien für die Aus-
gabe an das Terminal bzw. die Eingabe vom Terminal. Es ist nicht ange-
geben, ob Curses den Pufferungsmodus für diese Dateizeiger ändert. Die
Funktion newterm() sollte für jedes Terminal einmal aufgerufen werden.
Die Funktion initscr() entspricht einem Aufruf von:
newterm(getenv("TERM"), stdout, stdin); return stdscr;
Wenn die aktuelle Voreinstellung für die Signale SIGINT, SIGQUIT oder
SIGTSTP gleich SIGDFL ist, kann initscr() auch eine Behandlungsroutine
für das Signal installieren, die für die gesamte Dauer des Prozesses
oder so lange gelten kann, bis der Prozeß die Voreinstellung für das
Signal ändert.
Die Funktionen initscr() und newterm() initialisieren die externe
Variable curterm.
RÜCKGABEWERT
initscr() gibt nach erfolgreicher Ausführung einen Zeiger auf stdscr
zurück. Andernfalls kehrt die Funktion nicht zurück.
newterm() gibt nach erfolgreicher Ausführung einen Zeiger auf das ange-
gebene Terminal zurück. Andernfalls wird ein Null-Zeiger zurückgegeben.
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
initscr(3X) initscr(3X)
FEHLER
Es sind keine Fehlerzuordnungen definiert.
HINWEISE
Ein Programm, dessen Ausgabe an mehrere Terminals erfolgt, sollte für
jedes Terminal die Funktion newterm() anstelle von initscr() verwen-
den. Ein Programm, das eine Anzeige von Fehlerbedingungen benötigt,
damit es in einem zeilenorientierten Modus weiter ausgeführt werden
kann, wenn das Terminal kein bildschirmorientiertes Programm unter-
stützt, würde ebenfalls diese Funktionen verwenden.
Eine eventuell erforderliche Bearbeitung der Signale SIGINT, SIGQUIT
oder SIGTSTP sollte von den Anwendungen vor dem Aufrufen von initscr()
vorgenommen werden.
SIEHE AUCH
curses(3X), delscreen(3X), doupdate(3X), delcurterm(3X), filter(3X),
slkattroff(3X), useenv(3X), curses(5), term(5).
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98