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.65 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> ».