ОБЗОР
#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) |