SOCKETPAIR(2)

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

SYNOPSIS
#include <sys/types.h> /* Voir NOTES */
#include <sys/socket.h>

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

DESCRIPTION
La fonction socketpair() crée une paire de sockets connectées, sans nom, dans le domaine de communication d, du type indiqué, en utilisant le protocole optionnel protocol. Les descripteurs correspondants aux deux sockets sont placés dans sv[0] et sv[1]. Les deux sockets ne sont pas différenciables.

VALEUR RENVOYÉE
Cet appel système renvoie zéro s'il réussit. En cas d'échec -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 appelant.

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). POSIX.1-2001 ne réclame pas l'inclusion de <sys/types.h>, et ce fichier d'entête n'est pas nécessaire sous Linux. Toutefois, certaines implémentations historiques (BSD) ont besoin de ce fichier d'entête et il serait probablement plus sage que les applications destinées à être portable l'incluent.

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

TRADUCTION

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 13 octobre 1996 et révisée le 24 juin 2008.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 2 socketpair ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.