getipnodebyname(3) | Library Functions Manual | getipnodebyname(3) |
getipnodebyname, getipnodebyaddr, freehostent - возвращают сетевые имена и адреса машины
Standard C library (libc, -lc)
#include <sys/types.h> #include <sys/socket.h> #include <netdb.h>
[[deprecated]] struct hostent *getipnodebyname(const char *name, int af, int flags, int *error_num); [[deprecated]] struct hostent *getipnodebyaddr(const void addr[.len], size_t len, int af, int *error_num); [[deprecated]] void freehostent(struct hostent *ip);
Эти функции устарели (и недоступны в glibc). Используйте вместо них функции getaddrinfo(3) и getnameinfo(3).
Функции getipnodebyname() и getipnodebyaddr() возвращают имена и адреса машины в сети. Эти функции возвращают указатель на следующую структуру:
struct hostent { char *h_name; char **h_aliases; int h_addrtype; int h_length; char **h_addr_list; };
Эти функции заменяют функции gethostbyname(3) и gethostbyaddr(3), которые могут возвращать только сетевые адреса семейства IPv4. Функции getipnodebyname() и getipnodebyaddr() могут осуществлять доступ к нескольким семействам сетевых адресов.
В отличие от функций gethostby эти функции возвращают указатели на динамически выделяемую память. Функция freehostent() используется для освобождения динамически выделенной памяти после того, как надобность в структуре hostent отпадёт.
Функция getipnodebyname() ищет сетевой адрес узла, указанного в параметре name. В параметре af указывается одно из следующих значений:
В аргументе flags указываются дополнительные параметры. Возможно указать более одного параметра с помощью логического сложения (OR). Если параметры не требуются, то значение flags должно быть равно нулю.
Функция getipnodebyaddr() ищет имя узла, чей сетевой адрес указан в параметре addr. В параметре af указывается одно из следующих значений:
При ошибке возвращается NULL, а в error_num будет содержаться код ошибки из следующего списка:
При выполненном запросе возвращается указатель на структуру hostent, содержащую следующие поля:
RFC 2553.
Эти функции существовали в glibc 2.1.91-95, но были удалены. Некоторые UNIX-подобные системы поддерживают их, но все эти вызовы устарели.
getaddrinfo(3), getnameinfo(3), inet_ntop(3), inet_pton(3)
Русский перевод этой страницы руководства был сделан Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitry Bolkhovskikh <d20052005@yandex.ru>, Vladislav <ivladislavefimov@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>
Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.
Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на man-pages-ru-talks@lists.sourceforge.net.
10 ноября 2022 г. | Linux man-pages 6.03 |