Provided by:
manpages-fr-dev_3.27fr1.4-1_all 
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'edition des liens avec l'option -lutil.
DESCRIPTION
La fonction openpty() localise un pseudo-terminal disponible et renvoie
des descripteurs de fichier pour le maitre et l'esclave dans amaster et
aslave. Si la chaine name ne vaut pas NULL, le nom de fichier de
l'esclave est renvoye dans name. Si termp ne vaut pas NULL, les
parametres du terminal esclave seront affectes conformement aux valeurs
specifiees dans termp. Si winp ne vaut pas NULL, la taille de la
fenetre de l'esclave sera conditionnee par les valeurs contenues dans
winp.
La fonction login_tty() prepare une connexion sur le terminal fd (qui
peut etre un veritable peripherique tty, ou bien l'esclave d'un
pseudoterminal tel que celui renvoye par openpty()) en creant une
nouvelle session, en faisant de fd le terminal de controle pour le
processus appelant, en affectant fd a l'entree standard, a 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
creer un nouveau processus operant dans un pseudo-terminal. Le
descripteur de fichier de la partie maitre du pseudo-terminal est
renvoye dans amaster, et le nom de fichier de l'esclave dans name s'il
n'est pas NULL. Les parametres termp et winp, s'ils ne valent pas NULL,
determinent les attributs du terminal et la taille de la fenetre de la
partie esclave du pseudo-terminal.
VALEUR RENVOY'EE
Lorsqu'un appel a openpty(), login_tty() ou forkpty() echoue, alors, -1
est renvoye et errno est positionnee afin de preciser l'erreur. Sinon
openpty(), login_tty(), ainsi que le processus fils de forkpty()
renvoient 0 tandis que le processus pere de forkpty() renvoie le PID du
processus fils.
ERREURS
openpty() echoue lorsque :
ENOENT Il n'y a plus de terminaux disponibles.
login_tty() echoue lorsque ioctl(2) ne parvient pas a affecter fd au
terminal de controle du processus appelant.
forkpty() echoue en cas d'echec de openpty() ou de fork(2).
CONFORMIT'E
Il s'agit de fonctions BSD presentes dans la libc5 et la glibc2. Elles
ne font pas partie du standard POSIX.
NOTES
Les modificateurs const ont ete ajoutes 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 anterieures a 2.0.92, openpty() renvoie
des descripteurs de fichier pour une paire de pseudo-terminaux BSD ;
depuis glibc 2.0.92, elle essaie d'abord d'ouvrir une paire de
pseudo-terminaux Unix 98, et se rabat sur des pseudo-terminaux BSD en
cas d'echec.
BOGUES
Personne ne sait combien d'espace il faut reserver pour name, ainsi les
appels openpty() et forkpty() avec un argument name non nul peuvent
poser un probleme de securite.
VOIR AUSSI
fork(2), ttyname(3), pty(7)
COLOPHON
Cette page fait partie de la publication 3.27 du projet man-pages
Linux. Une description du projet et des instructions pour signaler des
anomalies peuvent etre trouvees a l'adresse
<URL:http://www.kernel.org/doc/man-pages/>.
TRADUCTION
Depuis 2010, cette traduction est maintenue a l'aide de l'outil po4a
<URL:http://po4a.alioth.debian.org/> par l'equipe de traduction
francophone au sein du projet perkamon
<URL:http://perkamon.alioth.debian.org/>.
Stephan Rafin (2002), Alain Portal
<URL:http://manpagesfr.free.fr/> (2006). Nicolas Francois et l'equipe
francophone de traduction de Debian (2006-2009).
Veuillez signaler toute erreur de traduction en ecrivant a
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet manpages-fr.
Vous pouvez toujours avoir acces a la version anglaise de ce document
en utilisant la commande << man -L C <section> <page_de_man> >>.