socketpair(2) crea un par de conectores conectados

SINOPSIS

#include <sys/types.h>
#include <sys/socket.h>

int socketpair(int d, int tipo, int protocolo, int sv[2]);

DESCRIPCIÓN

La llamada a socketpair crea una pareja sin nombre de conectores (`sockets', enchufes) en el dominio especificado por d, del tipo especificado por tipo, y empleando opcionalmente el protocolo especificado por protocolo. Los descriptores utilizados para referenciar los nuevos conectores se devuelven en sv[0] y sv[1]. Los dos conectores son indistinguibles.

VALOR DEVUELTO

En caso de éxito, se devuelve cero. En caso de error, se devuelve -1 y se pone en errno un valor apropiado.

ERRORES

EMFILE
Demasiados descriptores están en uso por este proceso.
EAFNOSUPPORT
La familia de direcciones especificada no está admitida en esta máquina.
EPROTONOSUPPORT
El protocolo especificado no está admitido en esta máquina.
EOPNOTSUPP
El protocolo especificado no admite la creación de parejas de conectores.
EFAULT
La dirección sv no especifica una parte válida del espacio de direcciones del proceso.

CONFORME A

4.4BSD (la llamada al sistema socketpair apareció en 4.2BSD). Generalmente transportable a o desde sistemas no BSD que admitan clónicos de la capa de conectores BSD (incluyendo variantes System V).

OBSERVACIONES

En Linux, el único dominio soportado por esta llamada es AF_UNIX (o con el mismo significado, AF_LOCAL). (La mayoría de implementaciones tienen la misma restricción..)