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

GNU                                             15 septembre 2017                                     OPENPTY(3)