inet_ntop -
преобразует
адреса IPv4 и IPv6
из
двоичного
формата в
текстовый
вид
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 <
[email protected]>, Dmitriy S. Seregin
<
[email protected]>, Yuri Kozlov <
[email protected]> и
Иван
Павлов <
[email protected]>
Этот
перевод
является
бесплатной
документацией;
прочитайте
Стандартную
общественную
лицензию GNU
версии 3
или более
позднюю,
чтобы
узнать об
условиях
авторского
права. Мы не
несем
НИКАКОЙ
ОТВЕТСТВЕННОСТИ.
Если вы
обнаружите
ошибки в
переводе
этой
страницы
руководства,
пожалуйста,
отправьте
электронное
письмо на
[email protected]