uIP 1.0
Файлы | Функции
DNS resolver - работа с именами DNS
Приложения

Функции uIP DNS resolver используются для поиска имени хоста (в базе данных имен DNS) и привязки его к цифровому адресу IP. Подробнее...

Файлы

файл  resolv.h
 

Заголовочный файл для DNS resolver.


файл  resolv.c
 

Резолвер - преобразователь имени DNS хоста в адрес IP.


Функции

void resolv_found (char *name, u16_t *ipaddr)
 Функция обратного вызова (callback), которая будет вызвана, когда найдено имя хоста.
void resolv_conf (u16_t *dnsserver)
 Конфигурирует сервер DNS, который будет использован для запросов.
u16_tresolv_getserver (void)
 Получение текущего сконфигурированного сервера DNS.
void resolv_init (void)
 Инициализирует распознаватель имен.
u16_tresolv_lookup (char *name)
 Ищет имя хоста в массиве известных имен.
void resolv_query (char *name)
 Ставит имя в очередь, так что будет отправлен запрос на имя.

Подробное описание

Функции uIP DNS resolver используются для поиска имени хоста (в базе данных имен DNS) и привязки его к цифровому адресу IP.

Это поддерживает список распознанных имен хостов, который может быть опрошен функцией resolv_lookup(). Новые имена хостов могут быть распознаны с использованием функции resolv_query().

Когда имя хоста было распознано (или найдено несуществующим), код резолвера вызывает функцию обратного вызова (callback), которая называется resolv_found(). Эта функция должна быть реализована модулем, который использует резолвер.


Функции

void resolv_conf ( u16_t dnsserver)

Конфигурирует сервер DNS, который будет использован для запросов.

Аргументы:
dnsserverУказатель на 4-байтное представление адреса IP сервера DNS, который будет сконфигурирован.
Примеры:
resolv.c и resolv.h.

См. определение в файле resolv.c строка 436

Перекрестные ссылки HTONS, uip_udp_new() и uip_udp_remove.

void resolv_found ( char *  name,
u16_t ipaddr 
)

Функция обратного вызова (callback), которая будет вызвана, когда найдено имя хоста.

Эта функция должна быть релаизована модулем, который использует DNS resolver. Она вызывается, когда имя хоста найдено, или когда не найдено.

Аргументы:
nameУказатель на имя, которое ищется.
ipaddrУказатель на 4-байтный массив, содержащий адрес IP имени хоста или NULL, если имя не было найдено.
Примеры:
resolv.c и resolv.h.
u16_t * resolv_getserver ( void  )

Получение текущего сконфигурированного сервера DNS.

Возвращает:
Указатель на 4-байтное представление адреса IP текущего сконфигурированного сервера DNS, или NULL, если сервер DNS не был сконфигурирован.
Примеры:
resolv.c и resolv.h.

См. определение в файле resolv.c строка 420

Перекрестные ссылки uip_udp_conn::ripaddr.

u16_t * resolv_lookup ( char *  name)

Ищет имя хоста в массиве известных имен.

Заметки:
Эта функция просматривает только внутренний массив известных имен хостов, и не отправляет запрос, если имя хоста не найдено. Для отправки запроса на распознание имени хоста может использоваться функция resolv_query().
Возвращает:
Указатель на 4-байтное представление адреса IP хоста, или NULL, если имя хоста не было найдено в массиве имен.
Примеры:
resolv.c, resolv.h и webclient.c.

См. определение в файле resolv.c строка 394

Используется в webclient_get().

void resolv_query ( char *  name)

Ставит имя в очередь, так что будет отправлен запрос на имя.

Аргументы:
nameЗапрашиваемое имя хоста.
Примеры:
resolv.c, resolv.h и webclient.c.

См. определение в файле resolv.c строка 349