Книга: UNIX: разработка сетевых приложений
Функция getipnodebyname
Функция getipnodebyname
Документ RFC 2553 [38] запретил использование RES_USE_INET6
и gethostbyname2
из-за глобальности флага RES_USE_INET6
и желания предоставить больше возможностей по управлению возвращаемыми сведениями. Для решения перечисленных проблем была предложена функция getipnodebyname
.
#include <sys/socket.h>
#include <netdb.h>
struct hostent *getipnodebyname(const char *name, int af,
int flags, int *error_num);
Возвращает: ненулевой указатель в случае успешного завершения, нулевой в случае ошибки
Функция возвращает указатель на ту же структуру hostent
, которая использовалась gethostbyname
. Аргументы af
и flags
непосредственно соответствуют полям hints.ai_family
и hints.ai_flags
. Для обеспечения безопасности в многопоточной среде возвращаемое значение выделяется динамически, поэтому его приходится освобождать вызовом freehostent
.
#include <netdb.h>
void freehostent(struct hostent *ptr);
Функции getipnodebyname
и getipnodebyaddr
были отменены в RFC 3493 [36], а вместо них было предложено использовать getaddrinfo
и getnameinfo
.
- Функция gethostbyname2
- 2.1.3. Функция getopt_long()
- Группировка по встроенным функциям и UDF
- 19.1.1. Функция jQuery()
- Функция strcmp( )
- Управление функциями узла
- Функция программного обеспечения
- 3.2. Ключи типа key_t и функция ftok
- 9.10. Функция sctp_recvmsg
- Функция document
- Функция generate-id
- Функция console.log