EthernetNetIf Compatibility.
Dependents: XBeeWiFi_SPI_example
Fork of NetServicesSource by
Diff: lwip/core/dhcp.c
- Revision:
- 5:dd63a1e02b1b
- Parent:
- 0:632c9925f013
--- a/lwip/core/dhcp.c Fri Jul 09 14:46:47 2010 +0000 +++ b/lwip/core/dhcp.c Tue Jul 27 15:59:42 2010 +0000 @@ -761,6 +761,9 @@ break; default: dhcp->tries = 0; +#if LWIP_DHCP_AUTOIP_COOP + dhcp->autoip_coop_state = DHCP_AUTOIP_COOP_STATE_OFF; +#endif /* LWIP_DHCP_AUTOIP_COOP */ dhcp_discover(netif); break; } @@ -942,11 +945,11 @@ /* subnet mask not given, choose a safe subnet mask given the network class */ u8_t first_octet = ip4_addr1(&dhcp->offered_ip_addr); if (first_octet <= 127) { - ip4_addr_set_u32(&sn_mask, htonl(0xff000000)); + ip4_addr_set_u32(&sn_mask, PP_HTONL(0xff000000)); } else if (first_octet >= 192) { - ip4_addr_set_u32(&sn_mask, htonl(0xffffff00)); + ip4_addr_set_u32(&sn_mask, PP_HTONL(0xffffff00)); } else { - ip4_addr_set_u32(&sn_mask, htonl(0xffff0000)); + ip4_addr_set_u32(&sn_mask, PP_HTONL(0xffff0000)); } } @@ -956,7 +959,7 @@ /* copy network address */ ip_addr_get_network(&gw_addr, &dhcp->offered_ip_addr, &sn_mask); /* use first host address on network as gateway */ - ip4_addr_set_u32(&gw_addr, ip4_addr_get_u32(&gw_addr) | htonl(0x00000001)); + ip4_addr_set_u32(&gw_addr, ip4_addr_get_u32(&gw_addr) | PP_HTONL(0x00000001)); } #if LWIP_DHCP_AUTOIP_COOP @@ -1206,8 +1209,9 @@ void dhcp_stop(struct netif *netif) { - struct dhcp *dhcp = netif->dhcp; + struct dhcp *dhcp; LWIP_ERROR("dhcp_stop: netif != NULL", (netif != NULL), return;); + dhcp = netif->dhcp; /* Remove the flag that says this netif is handled by DHCP. */ netif->flags &= ~NETIF_FLAG_DHCP; @@ -1430,9 +1434,10 @@ value = ntohl(value); } else { LWIP_ASSERT("invalid decode_len", decode_len == 1); + value = ((u8_t*)&value)[0]; } - dhcp_got_option(dhcp, decode_idx); - dhcp_set_option_value(dhcp, decode_idx, value); + dhcp_got_option(dhcp, decode_idx); + dhcp_set_option_value(dhcp, decode_idx, value); } if (offset >= q->len) { offset -= q->len; @@ -1663,7 +1668,7 @@ for (i = 0; i < DHCP_FILE_LEN; i++) { dhcp->msg_out->file[i] = 0; } - dhcp->msg_out->cookie = htonl(DHCP_MAGIC_COOKIE); + dhcp->msg_out->cookie = PP_HTONL(DHCP_MAGIC_COOKIE); dhcp->options_out_len = 0; /* fill options field with an incrementing array (for debugging purposes) */ for (i = 0; i < DHCP_OPTIONS_LEN; i++) {