int socketpair(int d, int type, int protocol, int sv[2]);
ОПИСАНИЕ
Функция
socketpair
создает пару неименованых связанных сокетов в заданном домене
d
типа
type,
используя (при необходимости) заданный протокол
protocol.
Описатели заданных сокетов возвращаются в
sv[0]
и
sv[1].
Никаких различий между этими двумя сокетами нет.
ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ
При удачном завершении возвращается 0. При ошибке возвращается
-1, а переменной
errno
присваивается номер ошибки.
НАЙДЕННЫЕ ОШИБКИ
EMFILE
Слишком много файловых описателей открыто процессом.
EAFNOSUPPORT
Заданное семейство адресов не поддерживается в этой машине.
EPROTONOSUPPORT
Заданный протокол не поддерживается в этой машине.
EOPNOTSUPP
Заданный протокол не поддерживает создание пар сокетов.
EFAULT
Адрес
sv
не ссылается на адресное пространство процесса.
СООТВЕТСТВИЕ СТАНДАРТАМ
4.4BSD (функция
socketpair
впервае появилась в 4.2BSD). В общем случае эта
функция переносима с не-BSD систем и в них (включая варианты System V).
ЗАМЕЧАНИЯ
В Linux единственным поддерживаемым доменом для этого вызова является
AF_UNIX
(или его синоним
AF_LOCAL).
(Большинство реализаций имеют такие же ограничения.)