38#ifndef LWIP_HDR_DHCP_H
39#define LWIP_HDR_DHCP_H
54#ifndef DHCP_COARSE_TIMER_SECS
55#define DHCP_COARSE_TIMER_SECS 60
59#define DHCP_COARSE_TIMER_MSECS (DHCP_COARSE_TIMER_SECS * 1000UL)
61#define DHCP_FINE_TIMER_MSECS 500
63#define DHCP_BOOT_FILE_LEN 128U
67 DHCP_AUTOIP_COOP_STATE_OFF = 0,
68 DHCP_AUTOIP_COOP_STATE_ON = 1
69} dhcp_autoip_coop_state_enum_t;
81#if LWIP_DHCP_AUTOIP_COOP
82 u8_t autoip_coop_state;
84 u8_t subnet_mask_given;
86 u16_t request_timeout;
93 ip_addr_t server_ip_addr;
94 ip4_addr_t offered_ip_addr;
95 ip4_addr_t offered_sn_mask;
96 ip4_addr_t offered_gw_addr;
98 u32_t offered_t0_lease;
99 u32_t offered_t1_renew;
100 u32_t offered_t2_rebind;
101#if LWIP_DHCP_BOOTP_FILE
102 ip4_addr_t offered_si_addr;
103 char boot_file_name[DHCP_BOOT_FILE_LEN];
105#if LWIP_DHCP_SECONDS_ELAPSE
106 u32_t seconds_elapsed;
111void dhcp_set_struct(
struct netif *
netif,
struct dhcp *dhcp);
113#define dhcp_remove_struct(netif) netif_set_client_data(netif, LWIP_NETIF_CLIENT_DATA_INDEX_DHCP, NULL)
119void dhcp_release_and_stop(
struct netif *
netif);
121void dhcp_network_changed(
struct netif *
netif);
122#if DHCP_DOES_ARP_CHECK
123void dhcp_arp_reply(
struct netif *
netif,
const ip4_addr_t *addr);
125u8_t dhcp_supplied_address(
const struct netif *
netif);
127void dhcp_coarse_tmr(
void);
129void dhcp_fine_tmr(
void);
131#if LWIP_DHCP_GET_NTP_SRV
135extern void dhcp_set_ntp_servers(u8_t num_ntp_servers,
const ip4_addr_t* ntp_server_addrs);
138#define netif_dhcp_data(netif) ((struct dhcp*)netif_get_client_data(netif, LWIP_NETIF_CLIENT_DATA_INDEX_DHCP))
s8_t err_t
Definition: err.h:96