SOCKETPAIR(2)

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

SYNOPSIS
#include <sys/types.h> /* Consultez NOTES */
#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). 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
S'il réussit, cet appel système renvoie 0. S'il échoue, il renvoie -1 et remplit errno en conséquence.

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 BSD 4.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.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/>.

Christophe Blaess <http://www.blaess.fr/christophe/> (1996-2003), Alain Portal <http://manpagesfr.free.fr/> (2003-2006). Julien Cristau 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> ».