Provided by: manpages-fr-dev_4.13-4_all bug

NOM

       openpty, login_tty, forkpty - Fonctions utilitaires pour terminaux (tty)

SYNOPSIS

       #include <pty.h>

       int openpty(int *amaster, int *aslave, char *name,
                   const struct termios *termp,
                   const struct winsize *winp);

       pid_t forkpty(int *amaster, char *name,
                     const struct termios *termp,
                     const struct winsize *winp);

       #include <utmp.h>

       int login_tty(int fd);

       Effectuez l'édition des liens avec l'option -lutil.

DESCRIPTION

       La fonction openpty() localise un pseudoterminal disponible et renvoie des descripteurs de
       fichier pour le maître et l'esclave dans amaster et aslave. Si la chaîne name ne vaut  pas
       NULL, le nom de fichier de l'esclave est renvoyé dans name. Si termp ne vaut pas NULL, les
       paramètres du terminal esclave seront affectés conformément aux  valeurs  spécifiées  dans
       termp.  Si  winp  ne vaut pas NULL, la taille de la fenêtre de l'esclave sera conditionnée
       par les valeurs contenues dans winp.

       The login_tty()  function prepares for a login on the terminal referred  to  by  the  file
       descriptor  fd  (which  may be a real terminal device, or the slave of a pseudoterminal as
       returned by openpty())  by creating a new session, making fd the controlling terminal  for
       the calling process, setting fd to be the standard input, output, and error streams of the
       current process, and closing fd.

       The forkpty()  function combines openpty(), fork(2), and  login_tty()   to  create  a  new
       process  operating  in a pseudoterminal. A file descriptor referring to master side of the
       pseudoterminal is returned in amaster. If name is not NULL, the buffer  it  points  to  is
       used  to return the filename of the slave. The termp and winp arguments, if not NULL, will
       determine the terminal attributes and window size of the slave side of the pseudoterminal.

VALEUR RENVOYÉE

       Lorsqu'un appel à openpty(), login_tty() ou forkpty() échoue, alors,  -1  est  renvoyé  et
       errno  est  positionnée afin de préciser l'erreur. Sinon openpty(), login_tty(), ainsi que
       le processus fils de forkpty() renvoient 0 tandis  que  le  processus  père  de  forkpty()
       renvoie le PID du processus fils.

ERREURS

       openpty()  fails if:

       ENOENT Il n'y a plus de terminaux disponibles.

       login_tty()  fails if ioctl(2)  fails to set fd to the controlling terminal of the calling
       process.

       forkpty()  fails if either openpty()  or fork(2)  fails.

ATTRIBUTS

       Pour une explication des termes utilisés dans cette section, consulter attributes(7).

       ┌─────────────────────┬──────────────────────┬────────────────────────┐
       │InterfaceAttributValeur                 │
       ├─────────────────────┼──────────────────────┼────────────────────────┤
       │forkpty(), openpty() │ Sécurité des threads │ MT-Safe locale         │
       ├─────────────────────┼──────────────────────┼────────────────────────┤
       │login_tty()          │ Sécurité des threads │ MT-Unsafe race:ttyname │
       └─────────────────────┴──────────────────────┴────────────────────────┘

CONFORMITÉ

       These are BSD functions, present in glibc. They are not standardized in POSIX.

NOTES

       Les modificateurs const ont été ajoutés dans la glibc  2.8  aux  arguments  des  fonctions
       openpty()  et forkpty()  qui sont des pointeurs sur des structures.

       Avec  les versions de la glibc antérieures à 2.0.92, openpty() renvoie des descripteurs de
       fichier pour une paire de pseudoterminaux BSD ; depuis glibc 2.0.92, elle  essaie  d'abord
       d'ouvrir  une paire de pseudoterminaux UNIX 98, et se rabat sur des pseudoterminaux BSD en
       cas d'échec.

BOGUES

       Personne ne sait combien d'espace il faut réserver pour name, ainsi les  appels  openpty()
       et forkpty() avec un argument name non nul peuvent poser un problème de sécurité.

VOIR AUSSI

       fork(2), ttyname(3), pty(7)

COLOPHON

       Cette  page  fait partie de la publication 5.10 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  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  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 ⟨⟩.