NOM
socketpair - Créer une paire de sockets connectées.
SYNOPSIS
#include <sys/types.h> /* Voir NOTES */
#include <sys/socket.h>
int socketpair(int domain, int type, int protocol, int sv[2]);
La fonction socketpair() crée une paire de sockets connectées, sans
noms, dans le domaine de communication domain, du type indiqué, en
utilisant le protocole optionnel protocol. Pour plus de détails sur ces
paramètres, consultez socket(2).
Les descripteurs correspondant aux deux sockets sont placés dans sv[0]
et sv[1]. Les deux sockets ne sont pas différenciables.
VALEUR RENVOYÉE
En cas de réussite, zéro est renvoyé, sinon -1 est renvoyé et errno
contient le code d’erreur.
ERREURS
EAFNOSUPPORT
La famille de communication n’est pas supportée sur cette
machine.
EFAULT sv pointe en dehors de l’espace d’adressage accessible.
EMFILE Trop de descripteurs de fichier utilisés par le processus en
cours.
ENFILE La limite du nombre total de fichiers ouverts sur le système a
été atteinte.
EOPNOTSUPP
La protocole de communication mentionné ne permet pas la
création d’une paire de sockets.
EPROTONOSUPPORT
La protocole de communication n’est pas supportée sur cette
machine.
CONFORMITÉ
BSD 4.4, POSIX.1-2001. La fonction socketpair() est apparue dans
BSD4.2. Elle est généralement portable de/vers les systèmes non-BSD
supportant les clones des sockets BSD (y compris les variantes de
System V).
NOTES
Sous Linux, le seul domaine supportant cet appel est AF_UNIX (ou le
synonyme, AF_LOCAL). (La plupart des implémentations ont la même
restriction).
Depuis Linux 2.6.27, socketpair() prend en charge les attributs
SOCK_NONBLOCK et SOCK_CLOEXEC décrits dans socket(2).
POSIX.1-2001 ne requiert pas l’inclusion de <sys/types.h>, et cet
en‐tête n’est pas nécessaire sous Linux. Cependant, il doit être inclus
sous certaines implémentations historiques (BSD), et les applications
portables devraient probablement l’utiliser.
VOIR AUSSI
pipe(2), read(2), socket(2), write(2), socket(7), unix(7)
COLOPHON
Cette page fait partie de la publication 3.23 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
Cette page de manuel a été traduite et mise à jour par Christophe
Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis par
Alain Portal <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et mise à
disposition sur http://manpagesfr.free.fr/.
Les mises à jour et corrections de la version présente dans Debian sont
directement gérées par Julien Cristau <jcristau@debian.org> et l’équipe
francophone de traduction de Debian.
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> ».