posix_openpt(3) Library Functions Manual posix_openpt(3)

posix_openpt — Ouvrir un périphérique de pseudoterminal

Bibliothèque C standard (libc, -lc)

#include <stdlib.h>
#include <fcntl.h>
int posix_openpt(int attributs);
Exigences de macros de test de fonctionnalités pour la glibc (consulter feature_test_macros(7)) :

posix_openpt():

    _XOPEN_SOURCE >= 600

La fonction posix_openpt() ouvre un périphérique de pseudoterminal maître et renvoie un descripteur de fichier qui pourra être utilisé pour se référer à ce périphérique.

L'argument attributs est un masque OU bit à bit de zéro ou plusieurs des attributs suivants :

Ouvrir le périphérique en lecture et en écriture. En général, cet attribut est utilisé.
Ne pas faire de ce périphérique le terminal de contrôle du processus.

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

Consultez open(2).

Pour une explication des termes utilisés dans cette section, consulter attributes(7).

Interface Attribut Valeur
posix_openpt() Sécurité des threads MT-Safe

POSIX.1-2008.

glibc 2.2.1. POSIX.1-2001.

La fonction fait partie de la prise en charge des pseudoterminaux d'UNIX 98 (consulter pts(4)).

Certaines anciennes 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 en ouvrant le périphérique multiplexeur de pseudoterminaux :


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

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

La traduction française de cette page de manuel a été créée par Christophe Blaess https://www.blaess.fr/christophe/, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org> et Grégoire Scano <gregoire.scano@malloc.fr>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.

31 octobre 2023 Pages du manuel de Linux 6.06