Manpages

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

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

ENOTTY

Le descripteur de fichier ne se rapporte pas à un terminal.

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

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.07 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 [AT] laposte.net>, Thierry Vignaud <tvignaud [AT] mandriva.com>, François Micaux, Alain Portal <aportal [AT] univ-montp2.fr>, Jean-Philippe Guérard <fevrier [AT] tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon [AT] wanadoo.fr>, Julien Cristau <jcristau [AT] debian.org>, Thomas Huriaux <thomas.huriaux [AT] gmail.com>, Nicolas François <nicolas.francois [AT] centraliens.net>, Florentin Duneau <fduneau [AT] gmail.com>, Simon Paillard <simon.paillard [AT] resel.fr>, Denis Barbier <barbier [AT] debian.org> et David Prévot <david [AT] 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 [AT] lists.org>.