getpeername - считывает имя подсоединившегося пользователя (машины)
НАЗВАНИЕgetpeername - считывает имя подсоединившегося пользователя
(машины)
СИНТАКСИС
#include
int getpeername(int s, struct sockaddr *name, socklen_t
*namelen);
ОПИСАНИЕ
Getpeername возвращает имя пользователя машины
подсоединившейся на сокет s. Параметр namelen должен быть
инициализирован в целях отображения объема памяти, который
занимает 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).