Данная функция преобразует строку символов
src
в сетевой адрес (типа
af),
затем копирует полученную структуру с адресом в
dst.
Возможности функции
inet_pton(3)
несколько шире, чем функции
inet_addr(3),
так как первая может поддерживать несколько типов адресов, поэтому использование
inet_addr(3)
будет считаться устаревшим и ненужным по сравнению с
inet_pton(3).
На текущий момент поддерживаются следующие типы адресов:
AF_INET
src
указывает на строку символов, содержащую сетевой адрес IPv4
в формате "ddd.ddd.ddd.ddd".
Адрес преобразуется в
struct in_addr
и копируется в переменную
dst,
размер которой должен быть равен
sizeof(struct in_addr)
байтам.
AF_INET6
src
указывает на строку символов, содержащую адрес сети IPv6
в разрешенном для сети IPv6 формате адреса. Адрес преобразуется в
struct in6_addr
и копируется в переменную
dst,
размер которой должен быть
sizeof(struct in6_addr)
байтов.
Конечно, стандартные шестнадцатеричные и восьмеричные форматы
AF_INET
адресов не поддерживаются
inet_pton.
ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ
inet_pton
возвращает отрицательное значение и меняет значение переменной
errno
на
EAFNOSUPPORT,
если
af
не содержит правильного типа адреса.
Возвращается 0, если
src
не содержит строку символов, представляющую правильный сетевой адрес
(для указанного типа адресов). Если сетевой адрес был успешно
преобразован, то возвращается положительное значение.