Provided by: manpages-fr-dev_4.27.0-1_all bug

NOM

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

BIBLIOTHÈQUE

       Bibliothèque d'utilitaires système (libutil, -lutil)

SYNOPSIS

       #include <pty.h>

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

       #include <utmp.h>

       int login_tty(int fd);

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 nom ne vaut pas NULL, le nom  de  fichier  de
       l'esclave  est  renvoyé  dans  nom.  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.

       La  fonction  login_tty()  prépare  une  connexion sur le terminal auquel le descripteur de fichier fd se
       réfère (qui peut être un véritable périphérique de terminal (tty), ou bien l'esclave d'un  pseudoterminal
       tel  que  celui  renvoyé  par  openpty()) en créant une nouvelle session, en faisant de fd le terminal de
       contrôle pour le processus appelant, en affectant fd à l'entrée standard, à la  sortie  standard  et  aux
       flux d'erreur du processus courant, et enfin, en fermant fd.

       La  fonction  forkpty()  combine  openpty(),  fork(2)  et  login_tty() afin de créer un nouveau processus
       opérant  dans  un  pseudoterminal.  Un  descripteur  de  fichier  se  référant  à  la  partie  maître  du
       pseudoterminal  est  renvoyé  dans amaster. Si le nom n'est pas NULL, le tampon vers lequel il pointe est
       utilisé pour pour renvoyer le nom de fichier de l'esclave. Les paramètres termp et winp, s'ils ne  valent
       pas  NULL,  déterminent  les  attributs  du  terminal  et la taille de la fenêtre de la partie esclave du
       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() échoue lorsque :

       ENOENT Il n'y a plus de terminaux disponibles.

       login_tty() échoue lorsque ioctl(2) ne parvient pas à affecter fd au terminal de  contrôle  du  processus
       appelant.

       forkpty() échoue en cas d'échec de openpty() ou de fork(2).

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 │
       └───────────────────────────────────────────────────────┴──────────────────────┴────────────────────────┘

STANDARDS

       BSD.

HISTORIQUE

       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.

       Avant la glibc 2.0.92, openpty() renvoie des descripteurs de fichier pour une  paire  de  pseudoterminaux
       BSD ;  depuis  la  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)

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>,    David    Prévot
       <david@tilapin.org> et Jean-Pierre Giraud <jean-pierregiraud@neuf.fr>

       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.

Pages du manuel de Linux 6.9.1                     2 mai 2024                                         openpty(3)