Unix Man (Справочное руководство)

         

GETHOSTBYADDR(3)


GETHOSTBYADDR(3)

НАЗВАНИЕ


gethostent, gethostbyaddr, gethostbyname, sethostent, endhostent - получить сведения о главной сетевой машине

СИНТАКСИС

#include <netdb.h>

struct hostent *gethostent()

struct hostent *gethostbyname(name) char *name;

struct hostent *gethostbyaddr(addr,len,type) char *addr; int len,type;

sethostent(stayopen) int stayopen

endhostent()

ОПИСАНИЕ


Функции gethostent, gethostbyname и gethostbyaddr возвращают указатель на объект, имеющий следующую структуру и описывающий строку в главной сетевой БД /etc/hosts:

struct hostent { char *h_name; /* официальное host-имя */ char **h_aliases; /* список псевдонимов */ int h_addrtype; /* тип адреса */ int h_length; /* длина адреса */ char *h_addr; /* адрес */ };

ЭЛЕМЕНТЫ СТРУКТУРЫ


h_name h_aliases h_addrtype h_length h_addr
Официальное имя главной машины.
Массив альтернативных имен главной машины, оканчивающийся нулем.
Тип возвращаемого адреса; в настоящее время всегда AF_INET.
Длина адреса в байтах.
Указатель на сетевой адрес для главной машины.

Функция gethostent считывает следующую строку файла, в случае необходимости открывая этот файл.

Функция sethostent открывает и переходит к началу файла. Если флаг stayopen имеет ненулевое значение, главная БД не будет закрываться после каждого вызова функции gethostent.

Функция endhostent закрывает файл.

Функции gethostbyname и gethostbyaddr последовательно просматривают файл с самого начала в поисках имени или адреса главной машины.

ФАЙЛЫ

/etc/hosts

ДИАГНОСТИКА


По достижении конца файла или в случае появления ошибки возвращается нулевой указатель.

ЗАМЕЧАНИЯ


Вся информация сохраняется в статической области, поэтому в целях сохранения ее необходимо скопировать. Адрес может иметь только формат Internet.



Содержание раздела