Provided by: manpages-ru_0.98-4_all bug

ИМЯ

       getpeername - получить имя удалённой стороны, подключенной к сокету

ОБЗОР

       #include <sys/socket.h>

       int getpeername(int s, struct sockaddr *name, socklen_t *namelen);

ОПИСАНИЕ

       Getpeername  возвращает имя удалённой стороны, подключенной к сокету s.
       Параметр namelen  должен  быть  инициализирован,  чтобы  задать  размер
       пространства,  на  которое  указывает  name.   При возврате он содержит
       фактический размер, возвращённого name (в байтах). Если предоставленный
       буфер слишком мал, имя усекается.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

       В  случае успеха, возвращается ноль. В случае ошибки, возвращается -1 и
       значение errno устанавливается соответствующим образом.

ОШИБКИ

       EBADF  Аргумент s не является правильным дескриптором.

       ENOTSOCK
              Аргумент s является файлом, а не сокетом.

       ENOTCONN
              Указанный сокет не подключён.

       ENOBUFS
              В системе было доступно  недостаточно  ресурсов  для  выполнения
              этой операции.

       EFAULT Параметр   name   указывает   на  память,  которая  не  является
              допустимой частью адресного пространства процесса.

СООТВЕТСТВИЕ СТАНДАРТАМ

       SVr4, 4.4BSD (функция getpeername впервые появилась в 4.2BSD).

ЗАМЕЧАНИЕ

       Третий аргумент getpeername фактически является `int *' (это так в  BSD
       4.*,  а  также в libc4 и libc5).  Некоторые POSIX реализации используют
       тип socklen_t.  Пока это не адаптировано в  стандарте,  но  glibc2  уже
       следует этому и также использует socklen_t. Смотри также accept(2).

СМОТРИ ТАКЖЕ

       accept(2), bind(2), getsockname(2)

ПЕРЕВОД

       Перевёл с английского Виктор Вислобоков <corochoone@perm.ru> 2004