Linux repositories inspector
Linux
2017-09-15

man-pages-ru

Russian man pages from the Linux Documentation Project

manpages-dev

Manual pages about using GNU/Linux for development

man-pages

Linux kernel and C library user-space interface documentation

ИМЯ

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

ОБЗОР

#include <arpa/inet.h>

const char *inet_ntop(int af, const void *src, char *dst, 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. Заметим, что в RFC 2553 определён прототип, в котором последний аргумент size имеет тип size_t. Многие системы следуют RFC 2553. В glibc 2.0 и 2.1 используется тип size_t, но в 2.2 и более новых версиях используется тип socklen_t.

ДЕФЕКТЫ

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

ПРИМЕР

Смотрите inet_pton(3).

СМОТРИТЕ ТАКЖЕ

⇧ Top