getsockname
возвращает текущее имя указанного сокета в параметре
name.
В параметре
namelen
должно быть указано, сколько места выделено под
name.
При возврате в этом параметре передается реальный использованный
размер в байтах.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
В случае успеха возвращается ноль. При ошибке возвращается -1, а
значение
errno
устанавливается должным образом.
ОШИБКИ
EBADF
Неверный файловый дескриптор
s.
ENOTSOCK
Аргумент
--
это файл, а не сокет.
ENOBUFS
В системе недостаточно ресурсов для выполнения операции.
EFAULT
name
указывает за пределы доступного адресного пространства.
СООТВЕТСТВИЕ СТАНДАРТАМ
SVr4, 4.4BSD (функция
getsockname
появилась в 4.2BSD). SVr4 документирует дополнительные коды ошибок
ENOMEM и ENOSR.
ЗАМЕЧАНИЕ
Третий аргумент функции
getsockname
в действительности имеет тип int * (это именно так в BSD 4.*, libc4
и libc5). Определенное недопонимание привело к тому, что в стандарте
POSIX появился тип socklen_t. Черновик стандарта еще не принят, но
glibc2 уже следует ему и также содержит socklen_t. См. также
accept(2).