From 097e59f2e1570e32d23474d2e408c32197f8edce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juraj=20Andr=C3=A1ssy?= <10706773+JAndrassy@users.noreply.github.com> Date: Fri, 10 Nov 2023 10:27:38 +0100 Subject: [PATCH] LwipImtfDev - add DNS IP getters/setters and MAC getters (#9022) Ethernet styles getters/setters and WiFi styles getters/setters --- cores/esp8266/LwipIntfDev.h | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/cores/esp8266/LwipIntfDev.h b/cores/esp8266/LwipIntfDev.h index 389376c97..4e131b97a 100644 --- a/cores/esp8266/LwipIntfDev.h +++ b/cores/esp8266/LwipIntfDev.h @@ -74,6 +74,15 @@ public: return &_netif; } + uint8_t* macAddress(uint8_t* mac) // WiFi lib way + { + memcpy(mac, &_netif.hwaddr, 6); + return mac; + } + void MACAddress(uint8_t* mac) // Ethernet lib way + { + macAddress(mac); + } IPAddress localIP() const { return IPAddress(ip4_addr_get_u32(ip_2_ip4(&_netif.ip_addr))); @@ -86,6 +95,29 @@ public: { return IPAddress(ip4_addr_get_u32(ip_2_ip4(&_netif.gw))); } + IPAddress dnsIP(int n) const // WiFi lib way + { + return IPAddress(dns_getserver(n)); + } + IPAddress dnsServerIP() const // Ethernet lib way + { + return dnsIP(0); + } + void setDNS(IPAddress dns1, IPAddress dns2 = INADDR_ANY) // WiFi lib way + { + if (dns1.isSet()) + { + dns_setserver(0, dns1); + } + if (dns2.isSet()) + { + dns_setserver(1, dns2); + } + } + void setDnsServerIP(const IPAddress dnsIP) // Ethernet lib way + { + setDNS(dnsIP); + } // 1. Currently when no default is set, esp8266-Arduino uses the first // DHCP client interface receiving a valid address and gateway to