NOM
grantpt - Donner accès à un pseudoterminal esclave
SYNOPSIS
#include <stdlib.h>
int grantpt(int fd);
Exigences de macros de test de fonctionnalités pour la glibc (consulter feature_test_macros(7)) :
grantpt():
Since glibc 2.24:
_XOPEN_SOURCE >= 500 ||
(_XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED)
Glibc 2.23 and earlier:
_XOPEN_SOURCE
DESCRIPTION
La fonction grantpt() modifie le mode et l’appartenant du pseudoterminal esclave correspondant au pseudoterminal maître référencé par fd. L’UID de l’esclave est rempli avec l’UID réel du processus appelant. Le GID est rempli avec une valeur non spécifiée (par ex : tty). Le mode de l’esclave est mis à 0620 (crw--w----).
Le comportement de grantpt() est indéterminé si un gestionnaire de signal est installé pour capturer SIGCHLD.
VALEUR RENVOYÉE
Lorsqu’elle réussit, la fonction grantpt() renvoie 0. Sinon, elle renvoie -1 et errno est positionnée en conséquence.
ERREURS
EACCES |
Le pseudoterminal esclave n’est pas accessible. | ||
EBADF |
L’argument fd n’est pas un descripteur valable. | ||
EINVAL |
L’argument fd est un descripteur mais pas associé avec un pseudoterminal maître. |
VERSIONS
grantpt() est fournie par la glibc depuis la version 2.1.
ATTRIBUTS
Pour une explication des termes utilisés dans cette section, consulter attributes(7).
CONFORMITÉ
POSIX.1-2001, POSIX.1-2008.
NOTES
This is part of the UNIX 98 pseudoterminal support, see pts(4).
Many systems implement this function via a set-user-ID helper binary called "pt_chown". On Linux systems with a devpts filesystem (present since Linux 2.2), the kernel normally sets the correct ownership and permissions for the pseudoterminal slave when the master is opened (posix_openpt(3)), so that nothing must be done by grantpt(). Thus, no such helper binary is required (and indeed it is configured to be absent during the glibc build that is typical on many systems).
VOIR AUSSI
open(2), posix_openpt(3), ptsname(3), unlockpt(3), pts(4), pty(7)
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>.