Provided by: manpages-fr-dev_3.65d1p1-1_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.

       La fonction login_tty() prépare une connexion  sur  le  terminal  fd  (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. Le descripteur de fichier de la partie maître du
       pseudoterminal est renvoyé dans amaster, et le nom de fichier de l'esclave dans name  s'il
       n'est  pas  NULL.  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).

CONFORMITÉ

       Il s'agit de fonctions BSD présentes dans la libc5 et la glibc2. Elles ne font pas  partie
       du standard 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 3.65 du projet man-pages Linux.  Une  description
       du  projet  et  des  instructions  pour  signaler  des  anomalies  peuvent être trouvées à
       l'adresse http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Depuis   2010,   cette   traduction   est   maintenue   à   l'aide   de    l'outil    po4a
       <http://po4a.alioth.debian.org/>  par l'équipe de traduction francophone au sein du projet
       perkamon <http://perkamon.alioth.debian.org/>.

       Stéphan Rafin (2002), Alain Portal <http://manpagesfr.free.fr/> (2006).  Nicolas  François
       et l'équipe francophone de traduction de Debian (2006-2009).

       Veuillez     signaler     toute     erreur     de     traduction     en     écrivant     à
       <debian-l10n-french@lists.debian.org>  ou  par  un  rapport  de  bogue   sur   le   paquet
       manpages-fr.

       Vous  pouvez  toujours  avoir  accès  à la version anglaise de ce document en utilisant la
       commande « man -L C <section> <page_de_man> ».