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

GNU                                               13 juin 2010                                        OPENPTY(3)