Hostname can now be set
Dependencies: Socket lwip-eth lwip-sys lwip
Dependents: GolemTemperaturCheck
Fork of EthernetInterface by
Revision 53:3eb289d06391, committed 2016-05-03
- Comitter:
- wolfsberger
- Date:
- Tue May 03 08:29:03 2016 +0000
- Parent:
- 52:f81b90d9a441
- Commit message:
- Hostname can now be specified.
Changed in this revision
diff -r f81b90d9a441 -r 3eb289d06391 EthernetInterface.cpp --- a/EthernetInterface.cpp Fri Apr 29 01:16:12 2016 +0100 +++ b/EthernetInterface.cpp Tue May 03 08:29:03 2016 +0000 @@ -59,7 +59,7 @@ } } -static void init_netif(ip_addr_t *ipaddr, ip_addr_t *netmask, ip_addr_t *gw) { +static void init_netif(ip_addr_t *ipaddr, ip_addr_t *netmask, ip_addr_t *gw, char * hostname) { tcpip_init(tcpip_init_done, NULL); tcpip_inited.wait(); @@ -67,6 +67,11 @@ netif_add(&netif, ipaddr, netmask, gw, NULL, eth_arch_enetif_init, tcpip_input); netif_set_default(&netif); + if (hostname != NULL) + { + netif.hostname = hostname; + } + netif_set_link_callback (&netif, netif_link_callback); netif_set_status_callback(&netif, netif_status_callback); } @@ -82,14 +87,29 @@ #endif } -int EthernetInterface::init() { +int EthernetInterface::init(char * hostname) { use_dhcp = true; set_mac_address(); - init_netif(NULL, NULL, NULL); + init_netif(NULL, NULL, NULL, hostname); return 0; } -int EthernetInterface::init(const char* ip, const char* mask, const char* gateway) { +int EthernetInterface::init(const char* ip, const char* mask, const char* gateway, char * hostname) { + use_dhcp = false; + + set_mac_address(); + strcpy(ip_addr, ip); + + ip_addr_t ip_n, mask_n, gateway_n; + inet_aton(ip, &ip_n); + inet_aton(mask, &mask_n); + inet_aton(gateway, &gateway_n); + init_netif(&ip_n, &mask_n, &gateway_n, hostname); + + return 0; +} + +/*int EthernetInterface::init(const char* ip, const char* mask, const char* gateway) { use_dhcp = false; set_mac_address(); @@ -102,7 +122,7 @@ init_netif(&ip_n, &mask_n, &gateway_n); return 0; -} +}*/ int EthernetInterface::connect(unsigned int timeout_ms) { eth_arch_enable_interrupts();
diff -r f81b90d9a441 -r 3eb289d06391 EthernetInterface.h --- a/EthernetInterface.h Fri Apr 29 01:16:12 2016 +0100 +++ b/EthernetInterface.h Tue May 03 08:29:03 2016 +0000 @@ -34,9 +34,10 @@ public: /** Initialize the interface with DHCP. * Initialize the interface and configure it to use DHCP (no connection at this point). + * \param hostname the hostname. * \return 0 on success, a negative number on failure */ - static int init(); //With DHCP + static int init(char* hostname = NULL); //With DHCP /** Initialize the interface with a static IP address. * Initialize the interface and configure it with the following static configuration (no connection at this point). @@ -45,7 +46,17 @@ * \param gateway the gateway to use * \return 0 on success, a negative number on failure */ - static int init(const char* ip, const char* mask, const char* gateway); + //static int init(const char* ip, const char* mask, const char* gateway); + + /** Initialize the interface with a static IP address. + * Initialize the interface and configure it with the following static configuration (no connection at this point). + * \param ip the IP address to use + * \param mask the IP address mask + * \param gateway the gateway to use + * \param hostname the hostname of the device + * \return 0 on success, a negative number on failure + */ + static int init(const char* ip, const char* mask, const char* gateway, char* hostname = NULL); /** Connect * Bring the interface up, start DHCP if needed.
diff -r f81b90d9a441 -r 3eb289d06391 lwip-eth.lib --- a/lwip-eth.lib Fri Apr 29 01:16:12 2016 +0100 +++ b/lwip-eth.lib Tue May 03 08:29:03 2016 +0000 @@ -1,1 +1,1 @@ -http://mbed.org/users/mbed_official/code/lwip-eth/#4380f0749039 +http://mbed.org/users/mbed_official/code/lwip-eth/#da93f0f73711
diff -r f81b90d9a441 -r 3eb289d06391 lwip.lib --- a/lwip.lib Fri Apr 29 01:16:12 2016 +0100 +++ b/lwip.lib Tue May 03 08:29:03 2016 +0000 @@ -1,1 +1,1 @@ -http://mbed.org/users/mbed_official/code/lwip/#1046f8be4d44 +http://mbed.org/users/mbed_official/code/lwip/#08f08bfc3f3d