uIP 1.0
C:/asm/STM32-ethernet/ENC28J60prj/uip-master/apps/resolv/resolv.h
См. документацию.
00001 /**
00002  * \addtogroup resolv
00003  * @{
00004  */
00005 /**
00006  * \file
00007  * Заголовочный файл для DNS resolver.
00008  * \author Adam Dunkels <adam@dunkels.com>
00009  */
00010 
00011 /*
00012  * Copyright (c) 2002-2003, Adam Dunkels.
00013  * Все права зарезервированы. *
00014  * Повторное распространение, использование в исходном и двоичном виде,
00015  * с модификацией или без - разрешается, если выполняются следующие
00016  * условия:
00017  * 1. Распространение исходного кода должно сохранить вышеуказанную пометку
00018  *    копирайта, этот список условий и следующую правовую оговорку.
00019  * 2. Распространение исходного кода должно сохранить вышеуказанную пометку
00020  *    копирайта, этот список условий и следующую правовую оговорку в
00021  *    документации и/или других материалах, которые будут предоставлены
00022  *    вместе с распространяемыми материалами.
00023  * 3. Имя автора не может использоваться, чтобы подтвердить или продвинуть
00024  *    продукты, написанные с использованием этого программного обеспечения
00025  *    без специального на то разрешения.
00026  *
00027  * ЭТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ АВТОРОМ ``КАК ЕСТЬ'', БЕЗ
00028  * КАКОЙ-ЛИБО ЛЮБОЙ РАСШИРЕННОЙ ИЛИ ПОДРАЗУМЕВАЕМОЙ ГАРАНТИИ, ВКЛЮЧАЯ,
00029  * НО НЕ ОГРАНИЧИВАЯСЬ ЭТИМ, ГАРАНТИИ ВЫСОКОГО СПРОСА И ПРИГОДНОСТИ
00030  * ДЛЯ КОНКРЕТНОЙ ЦЕЛИ. АВТОР НИ ПРИ КАКИХ УСЛОВИЯХ НЕ ОТВЕТСТВЕНЕН
00031  * ЗА ЛЮБЫЕ УБЫТКИ - ПРЯМЫЕ, КОСВЕННЫЕ, СЛУЧАЙНЫЕ, СПЕЦИАЛЬНЫЕ, ОБРАЗЦОВЫЕ
00032  * ИЛИ ПОСЛЕДОВАТЕЛЬНЫЕ (ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ЭТИМ, ТРЕБОВАНИЯ
00033  * ЗАМЕНЫ ТОВАРА ИЛИ СЕРВИСА; ПОТЕРИ ИСПОЛЬЗОВАНИЯ, ДАННЫХ ИЛИ ВЫГОДЫ;
00034  * ИЛИ ПРЕКРАЩЕНИЕ БИЗНЕСА), ОДНАКО ВЫЗВАННЫЕ ПО ЛЮБОЙ ТЕОРИИ ОТВЕТСТВЕННОСТИ,
00035  * ЛИБО В КОНТРАКТЕ, ПРЯМОЙ ОТВЕТСТВЕННОСТИ, ЛИБО В НАРУШЕНИИ ЗАКОННЫХ ПРАВ
00036  * (ВКЛЮЧАЯ ТАК ИЛИ ИНАЧЕ НЕБРЕЖНОСТЬ), ВОЗНИКАЮЩИЕ ВСЕГДА ИЗ ИСПОЛЬЗОВАНИЯ
00037  * ЭТОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ, ДАЖЕ ЕСЛИ БЫЛО ПРЕДУПРЕЖДЕНИЕ О ВОЗМОЖНОСТИ
00038  * ТАКОГО ПОВРЕЖДЕНИЯ.
00039  *
00040  * Этот файл является частью стека uIP TCP/IP.
00041  *
00042  * $Id: resolv.h,v 1.4 2006/06/11 21:46:37 adam Exp $
00043  *
00044  */
00045 #ifndef __RESOLV_H__
00046 #define __RESOLV_H__
00047 
00048 typedef int uip_udp_appstate_t;
00049 void resolv_appcall(void);
00050 #define UIP_UDP_APPCALL resolv_appcall
00051 
00052 #include "uipopt.h"
00053 
00054 /**
00055  * Функция обратного вызова (callback), которая будет вызвана, когда найдено
00056  * имя хоста.
00057  *
00058  * Эта функция должна быть релаизована модулем, который использует 
00059  * DNS resolver. Она вызывается, когда имя хоста найдено, или когда не найдено.
00060  *
00061  * \param name Указатель на имя, которое ищется.
00062  * \param ipaddr Указатель на 4-байтный массив, содержащий адрес IP имени хоста
00063  * или NULL, если имя не было найдено.
00064  */
00065 void resolv_found(char *name, u16_t *ipaddr);
00066 
00067 /* Функции. */
00068 void resolv_conf(u16_t *dnsserver);
00069 u16_t *resolv_getserver(void);
00070 void resolv_init(void);
00071 u16_t *resolv_lookup(char *name);
00072 void resolv_query(char *name);
00073 
00074 #endif /* __RESOLV_H__ */
00075 
00076 /** @} */