inet_ntop(3)

ИМЯ
inet_ntop - преобразует адреса IPv4 и IPv6 из двоичного формата в текстовый вид

LIBRARY
Standard C library (libc, -lc)

СИНТАКСИС
#include <arpa/inet.h>

const char *inet_ntop(int af, const void *restrict src,
                      char dst[restrict .size], socklen_t size);

ОПИСАНИЕ
Данная функция преобразует структуру сетевого адреса src с семейством адресов af в строку символов и копирует её в буфер по адресу dst, значение которого не должно быть равно NULL. В аргументе size вызывающий передаёт количество доступных байт в буфере.

По сравнению с inet_ntoa(3) функция inet_ntop() поддерживает семейства адресов, и теперь её рекомендуется использовать вместо inet_ntoa(3). В настоящее время поддерживаются следующие семейства адресов:

AF_INET
    Значение src указывает на структуру struct in_addr (с сетевым порядком байт), которая преобразуется в сетевой адрес IPv4 в точечно-десятичном формате «ddd.ddd.ddd.ddd». Буфер dst должен быть размером, по меньшей мере, INET_ADDRSTRLEN байт.

AF_INET6
    Значение src указывает на структуру struct in6_addr (с сетевым порядком байт), которая преобразуется в сетевой адрес IPv6 наиболее подходящего формата для этого адреса. Буфер dst должен быть размером, по меньшей мере, INET6_ADDRSTRLEN байт.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
При успешном выполнении inet_ntop() возвращает указатель не-NULL на dst. В случае ошибки возвращается NULL, а errno присваивается значение ошибки.

ОШИБКИ

EAFNOSUPPORT
    Аргумент af не содержит допустимого значения семейства адресов.

ENOSPC
    Строка с преобразованным адресом превышает размер, указанный в size.

АТРИБУТЫ
Описание терминов данного раздела смотрите в attributes(7).
Интерфейс | Атрибут | Значение
inet_ntop() | Безвредность в нитях | MT-Safe locale

СТАНДАРТЫ
POSIX.1-2001, POSIX.1-2008. Note that RFC 2553 defines a prototype where the last argument size is of type size_t. Many systems follow RFC 2553. glibc 2.0 and 2.1 have size_t, but 2.2 and later have socklen_t.

ДЕФЕКТЫ
Для семейства AF_INET6 IPv4-отображённые адреса IPv6 преобразуются в формат IPv6.

ПРИМЕРЫ
Смотрите inet_pton(3).

СМ. ТАКЖЕ
getnameinfo(3), inet(3), inet_pton(3)

ПЕРЕВОД
Русский перевод этой страницы руководства был сделан Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitriy S. Seregin <dseregin@59.ru>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 (https://www.gnu.org/licenses/gpl-3.0.html) или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на man-pages-ru-talks@lists.sourceforge.net.