SOCKETPAIR(2)

이름
socketpair - 열결된 소켓 쌍을 만든다.

사용법
#include <sys/types.h>
#include <sys/socket.h>

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

설명
시스템 콜은 옵션으로 지정한 protocol을사용하여 지정한 도메인 d에서 지정한 type의 접속된 소켓의 이름없는 쌍을 만든다. 새 소켓 생성시 참조하는 기술자(descriptor)는 IR sv[0] 과 sv[1]으로 반환된다. 두 개의 소켓은 구별할 수 없다.

반환값
성공시, 0을 반환한다. 에러시, -1을 반환하며, errno는 적당한 값으로 설정된다.

에러

EMFILE
    너무 많은 기술자가 이 프로세스에 의해 사용되었다.

EAFNOSUPPORT
    지정한 주소 지정 방식(address family)이 머신에서 지원되지 않는다.

EPROTONOSUPPORT
    지정된 프로토콜이 이 머신에서 지원되지 않는다.

EOPNOSUPPORT
    지정된 프로토콜이 소켓쌍 생성을 지원하지 않는다.

EFAULT
    주소 sv가 프로세스 주소 공간의 유효 부분을 가리키지 않는다.

호환
4.4BSD ( socketpair 함수는 4.2BSD에서 나타났다). 일반적으로 BSD 소켓 층(System V 변종을 포함하여)의 클론(clone)을 지원하는 non-BSD 시스템으로나 non-BSD 시스템으로 포팅이 가능하다.

관련 항목
read(2), write(2), pipe(2)

역자
정강훈 <skyeyes@soback.kornet.net>, 2000년 5월 26일