ttyname, ttyname_r - den Namen eines Terminals zurückgeben
Standard-C-Bibliothek (
libc,
-lc)
#include <unistd.h>
char *ttyname(int dd);
int ttyname_r(int dd, char puffer[.pufferlaenge], size_t pufferlaenge);
Die Funktion
ttyname() gibt einen Zeiger auf einen mit Nullbyte
abgeschlossenen Pfadnamen des Terminal-Gerätes zurück, das mit
dem Dateideskriptor
dd geöffnet ist, oder bei einem Fehler NULL
(zum Beispiel, wenn
dd nicht mit einem Terminal verbunden ist). Der
Rückgabewert kann auf statische Daten zeigen, die möglicherweise
beim nächsten Aufruf überschrieben werden. Die Funktion
ttyname_r() speichert diesen Pfadnamen im Puffer
puffer, der die
Länge
pufferlaenge hat.
Die Funktion
ttyname() gibt bei Erfolg einen Zeiger auf einen Pfadnamen
zurück. Bei einem Fehler wird NULL zurückgegeben und
errno gesetzt, um den Fehler anzuzeigen. Die Funktion
ttyname_r() gibt bei Erfolg 0 zurück und eine Fehlernummer bei
einem Fehler.
- EBADF
- falscher Datei-Deskriptor
- ENODEV
-
dd bezieht sich auf ein
Slave-Pseudoterminal-Gerät, aber der entsprechende Pfadname konnte
nicht gefunden werden (siehe ANMERKUNGEN).
- ENOTTY
-
dd bezieht sich nicht auf ein
Terminal-Gerät.
- ERANGE
- (ttyname_r()) pufferlaenge war zu klein, um
den Pfadnamen aufzunehmen.
Siehe
attributes(7) für eine Erläuterung der in diesem
Abschnitt verwandten Ausdrücke.
Schnittstelle |
Attribut |
Wert |
ttyname() |
Multithread-Fähigkeit |
MT-Unsafe race:ttyname |
ttyname_r() |
Multithread-Fähigkeit |
MT-Safe |
POSIX.1-2001, POSIX.1-2008, 4.2BSD.
Ein Prozess, der einen Dateideskriptor, der sich auf ein
pts(4)-Gerät bezieht, beim Umschalten auf einen anderen
Einhängenamensraum, der eine andere
/dev/ptmx-Instanz verwendet,
geöffnet hält, kann immer noch zufälligerweise
herausfinden, dass ein Gerätepfad des gleichen Namens für diesen
Dateideskriptor existiert. Allerdings bezieht sich dieser Gerätepfad
auf ein anderes Gerät und kann daher nicht zum Zugriff auf das
Gerät, auf das sich der Dateideskriptor bezieht, verwandt werden. Wird
ttyname() oder
ttyname_r() mit dem Dateideskriptor in dem neuen
Namensraum aufgerufen, dann werden die Funktionen NULL zurückliefern
und
errno auf
ENODEV setzen.
tty(1),
fstat(2),
ctermid(3),
isatty(3),
pts(4)
Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Schulze
<
[email protected]>, Chris Leick <
[email protected]> und Helge
Kreutzmann <
[email protected]> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die
GNU
General Public License Version 3 oder neuer bezüglich der
Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken
Sie bitte eine E-Mail an die
Mailingliste
der Übersetzer