uIP 1.0
|
/* * Copyright (c) 2005, Swedish Institute of Computer Science * Все права зарезервированы. * * Повторное распространение, использование в исходном и двоичном виде, * с модификацией или без - разрешается, если выполняются следующие * условия: * 1. Распространение исходного кода должно сохранить вышеуказанную пометку * копирайта, этот список условий и следующую правовую оговорку. * 2. Распространение исходного кода должно сохранить вышеуказанную пометку * копирайта, этот список условий и следующую правовую оговорку в * документации и/или других материалах, которые будут предоставлены * вместе с распространяемыми материалами. * 3. Имя автора не может использоваться, чтобы подтвердить или продвинуть * продукты, написанные с использованием этого программного обеспечения * без специального на то разрешения. * * ЭТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ АВТОРОМ ``КАК ЕСТЬ'', БЕЗ * КАКОЙ-ЛИБО ЛЮБОЙ РАСШИРЕННОЙ ИЛИ ПОДРАЗУМЕВАЕМОЙ ГАРАНТИИ, ВКЛЮЧАЯ, * НО НЕ ОГРАНИЧИВАЯСЬ ЭТИМ, ГАРАНТИИ ВЫСОКОГО СПРОСА И ПРИГОДНОСТИ * ДЛЯ КОНКРЕТНОЙ ЦЕЛИ. АВТОР НИ ПРИ КАКИХ УСЛОВИЯХ НЕ ОТВЕТСТВЕНЕН * ЗА ЛЮБЫЕ УБЫТКИ - ПРЯМЫЕ, КОСВЕННЫЕ, СЛУЧАЙНЫЕ, СПЕЦИАЛЬНЫЕ, ОБРАЗЦОВЫЕ * ИЛИ ПОСЛЕДОВАТЕЛЬНЫЕ (ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ЭТИМ, ТРЕБОВАНИЯ * ЗАМЕНЫ ТОВАРА ИЛИ СЕРВИСА; ПОТЕРИ ИСПОЛЬЗОВАНИЯ, ДАННЫХ ИЛИ ВЫГОДЫ; * ИЛИ ПРЕКРАЩЕНИЕ БИЗНЕСА), ОДНАКО ВЫЗВАННЫЕ ПО ЛЮБОЙ ТЕОРИИ ОТВЕТСТВЕННОСТИ, * ЛИБО В КОНТРАКТЕ, ПРЯМОЙ ОТВЕТСТВЕННОСТИ, ЛИБО В НАРУШЕНИИ ЗАКОННЫХ ПРАВ * (ВКЛЮЧАЯ ТАК ИЛИ ИНАЧЕ НЕБРЕЖНОСТЬ), ВОЗНИКАЮЩИЕ ВСЕГДА ИЗ ИСПОЛЬЗОВАНИЯ * ЭТОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ, ДАЖЕ ЕСЛИ БЫЛО ПРЕДУПРЕЖДЕНИЕ О ВОЗМОЖНОСТИ * ТАКОГО ПОВРЕЖДЕНИЯ. * * Этот файл является частью стека uIP TCP/IP. * * @(#)$Id: dhcpc.h,v 1.3 2006/06/11 21:46:37 adam Exp $ */ #ifndef __DHCPC_H__ #define __DHCPC_H__ #include "timer.h" #include "pt.h" struct dhcpc_state { struct pt pt; char state; struct uip_udp_conn *conn; struct timer timer; u16_t ticks; const void *mac_addr; int mac_len; u8_t serverid[4]; u16_t lease_time[2]; u16_t ipaddr[2]; u16_t netmask[2]; u16_t dnsaddr[2]; u16_t default_router[2]; }; void dhcpc_init(const void *mac_addr, int mac_len); void dhcpc_request(void); void dhcpc_appcall(void); void dhcpc_configured(const struct dhcpc_state *s); typedef struct dhcpc_state uip_udp_appstate_t; #define UIP_UDP_APPCALL dhcpc_appcall #endif /* __DHCPC_H__ */