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.
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.44 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 à
<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> ».