Provided by: manpages-fr_1.67.0-1_all bug

NOM

       openpty, login_tty, forkpty - Fonctions utilitaires pour terminaux tty.

SYNOPSIS

       #include <pty.h>  /* for openpty and forkpty */
       #include <utmp.h> /* for login_tty */

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

       int login_tty(int fd);

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

DESCRIPTION

       La fonction openpty() localise un pseudo terminal disponible et renvoie
       des  descripteurs  de fichiers 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 tty, ou bien l’esclave d’un  pseudo
       terminal  tel  que  celui renvoyé par openpty()) en créant une nouvelle
       session, en faisant de fd le terminal de  contrôle  pour  le  processus
       courant,  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(), et login_tty() afin de
       créer  un  nouveau  processus  opérant  dans  un  pseudo  terminal.  Le
       descripteur de fichier de la  partie  maître  du  pseudo  terminal  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 pseudo terminal.

VALEUR RENVOYÉE

       Lorsqu’un appel à openpty(), login_tty(), ou forkpty()  échoue,  alors,
       on renvoie -1 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_pty() échoue lorsque ioctl() ne parvient pas  à  affecter  fd  au
       terminal de contrôle du processus courant.

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

NOTE

       Ces  fonctions  sont dans la bibliothèque libutil, il faut donc ajouter
       -lutil sur la ligne de commande du compilateur.

FICHIERS

       /dev/[pt]ty[pqrstuwxyzabcdePQRST][0123456789abcdef]

CONFORMITÉ

       Il s’agit de fonctions BSD présentes dans la libc5 et la glibc2.

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 peut poser
       un problème de sécurité.

VOIR AUSSI

       fork(2)

TRADUCTION

       Stéphan Rafin, 2002.
       Christophe Blaess, 2003.