TTYNAME(3)

NOM
ttyname, ttyname_r - Obtenir le nom d'un terminal

SYNOPSIS
#include <unistd.h>

char *ttyname(int fd);

int ttyname_r(int fd, char *tampon, size_t lngtmp);

DESCRIPTION
La fonction ttyname() renvoie un pointeur sur le nom (terminé par un caractère nul) du périphérique terminal associé au descripteur de fichier fd, ou NULL en cas d'erreur (par exemple si fd n'est pas connecté à un terminal). La valeur renvoyée peut pointer vers des données statiques, susceptibles d'être écrasées lors d'un appel ultérieur. La fonction ttyname_r() stocke la valeur dans le tampon de longueur lngtmp.

VALEUR RENVOYÉE
La fonction ttyname() renvoie un pointeur sur le chemin d'accès. En cas d'erreur, elle renvoie NULL et remplit errno avec le code d'erreur. La fonction ttyname_r() renvoie zéro si elle réussit et un code d'erreur si elle échoue.

ERREURS

EBADF
    Mauvais descripteur de fichier.

ENODEV
    fd refers to a slave pseudoterminal device but the corresponding pathname could not be found (see NOTES).

ENOTTY
    fd does not refer to a terminal device.

ERANGE
    (ttyname_r()) buflen est trop court pour stocker le chemin d'accès.

ATTRIBUTS
Pour une explication des termes utilisés dans cette section, consulter attributes(7).
Interface | Attribut | Valeur
ttyname() | Sécurité des threads | MT-Unsafe race:ttyname
ttyname_r() | Sécurité des threads | MT-Safe

CONFORMITÉ
POSIX.1-2001, POSIX.1-2008, 4.2BSD.

NOTES
A process that keeps a file descriptor that refers to a pts(4) device open when switching to another mount namespace that uses a different /dev/ptmx instance may still accidentally find that a device path of the same name for that file descriptor exists. However, this device path refers to a different device and thus can't be used to access the device that the file descriptor refers to. Calling ttyname() or ttyname_r() on the file descriptor in the new mount namespace will cause these functions to return NULL and set errno to ENODEV.

VOIR AUSSI
tty(1), fstat(2), ctermid(3), isatty(3), pts(4)

COLOPHON
Cette page fait partie de la publication 5.08 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies et la dernière version de cette page, peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

TRADUCTION
La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org> et David Prévot <david@tilapin.org> Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE. Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à <debian-l10n-french@lists.debian.org>.