SOCKETPAIR(2)

NOMBRE
socketpair - 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..)

VÉASE TAMBIÉN
read(2), write(2), pipe(2), socket(2), unix(7)