getsockname - считывает адрес сокета
НАЗВАНИЕgetsockname - считывает адрес сокета
СИНТАКСИС
#include
int getsockname(int s, struct sockaddr *name, socklen_t *namelen);
ОПИСАНИЕ
getsockname возвращает текущее имя указанного сокета. В
параметре namelen должно быть указано, сколько места
выделено под name. При возврате в этом параметре
передается размер (в байтах).
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
При успешном завершении вызова возвращается нулевое
значение. При ошибке возвращается -1, а переменной errno
присваивается соответствующий код ошибки.
КОДЫ ОШИБОК
EBADF некорректный описатель s.
ENOTSOCK
параметр s является файлом, а не сокетом.
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).