SOCKETPAIR(2)

NOM
socketpair - Créer une paire de sockets connectées

SYNOPSIS
#include <sys/socket.h>

int socketpair(int domain, int type, int protocol, int sv[2]);

DESCRIPTION
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).

The file descriptors used in referencing the new sockets are returned in sv[0] and sv[1]. The two sockets are indistinguishable.

VALEUR RENVOYÉE
On success, zero is returned. On error, -1 is returned, errno is set to indicate the error, and sv is left unchanged

On Linux (and other systems), socketpair() does not modify sv on failure. A requirement standardizing this behavior was added in POSIX.1-2008 TC2.

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
    La limite du nombre de descripteurs de fichiers par processus a été atteinte.

ENFILE
    La limite du nombre total de fichiers ouverts pour le système entier 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É
POSIX.1-2001, POSIX.1-2008, 4.4BSD. socketpair() first appeared in 4.2BSD. It is generally portable to/from non-BSD systems supporting clones of the BSD socket layer (including System V variants).

NOTES
On Linux, the only supported domains for this call are AF_UNIX (or synonymously, AF_LOCAL) and AF_TIPC (since Linux 4.12).

Since Linux 2.6.27, socketpair() supports the SOCK_NONBLOCK and SOCK_CLOEXEC flags in the type argument, as described in socket(2).

VOIR AUSSI
pipe(2), read(2), socket(2), write(2), socket(7), unix(7)

COLOPHON
Cette page fait partie de la publication 5.13 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies et la dernière version de cette page peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

TRADUCTION
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>, Cédric Boutillier <cedric.boutillier@gmail.com> et Frédéric Hantrais <fhantrais@gmail.com> Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 (https://www.gnu.org/licenses/gpl-3.0.html) 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.