POSIX_OPENPT(3)

NOM
posix_openpt - Ouvrir un périphérique pseudoterminal

SYNOPSIS
#include <stdlib.h>
#include <fcntl.h>

int posix_openpt(int flags);

Exigences de macros de test de fonctionnalités pour la glibc (consultez feature_test_macros(7)) :

posix_openpt() : _XOPEN_SOURCE >= 600

DESCRIPTION
La fonction posix_openpt() ouvre un périphérique pseudoterminal maître et renvoie un descripteur de fichier qui pourra être utilisé pour se référer à ce périphérique. L'argument flags est un masque OU bit à bit de zéro ou plusieurs des attributs suivants :

O_RDWR
    ouvrir le périphérique en lecture et en écriture. En général, cet attribut est utilisé.

O_NOCTTY
    Ne pas faire de ce périphérique le terminal de contrôle du processus.

VALEUR RENVOYÉE
Si elle réussit, posix_openpt() renvoie un descripteur de fichier non négatif qui est le plus petit des descripteurs inutilisés. Si elle échoue, elle renvoie -1 et errno indique l'erreur.

ERREURS
Consultez open(2).

VERSIONS
La gestion de posix_openpt() existe dans la glibc à partir de la version 2.2.1.

ATTRIBUTS

  Multithreading (voir pthreads(7))
La fonction posix_openpt() est sûre dans un contexte multithread.

CONFORMITÉ
posix_openpt() est une partie de la gestion des pseudoterminaux d'UNIX 98 (consultez pts(4)). Cette fonction est spécifiée par POSIX.1-2001.

NOTES
La fonction posix_openpt() est une création récente dans POSIX. Certaines implémentations UNIX qui prennent en charge les pseudoterminaux System V (aussi appelés UNIX 98) n'ont pas cette fonction, mais il est facile de l'implémenter :
int
posix_openpt(int flags)
{
    return open("/dev/ptmx", flags);
}

Appeler posix_openpt() crée un chemin d'accès pour le périphérique esclave de pseudoterminal correspondant. Le chemin d'accès du périphérique esclave peut être obtenu avec ptsname(3). Le chemin d'accès du périphérique esclave n'existe que tant que le périphérique maître est ouvert.

VOIR AUSSI
open(2), getpt(3), grantpt(3), ptsname(3), unlockpt(3), pts(4), pty(7)

COLOPHON
Cette page fait partie de la publication 3.70 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/>.

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 à <perkamon-fr@traduc.org>.

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