Skip to content

Commit 097e59f

Browse files
authored
LwipImtfDev - add DNS IP getters/setters and MAC getters (esp8266#9022)
Ethernet styles getters/setters and WiFi styles getters/setters
1 parent 31c1592 commit 097e59f

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

cores/esp8266/LwipIntfDev.h

+32
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,15 @@ class LwipIntfDev: public LwipIntf, public RawDev
7474
return &_netif;
7575
}
7676

77+
uint8_t* macAddress(uint8_t* mac) // WiFi lib way
78+
{
79+
memcpy(mac, &_netif.hwaddr, 6);
80+
return mac;
81+
}
82+
void MACAddress(uint8_t* mac) // Ethernet lib way
83+
{
84+
macAddress(mac);
85+
}
7786
IPAddress localIP() const
7887
{
7988
return IPAddress(ip4_addr_get_u32(ip_2_ip4(&_netif.ip_addr)));
@@ -86,6 +95,29 @@ class LwipIntfDev: public LwipIntf, public RawDev
8695
{
8796
return IPAddress(ip4_addr_get_u32(ip_2_ip4(&_netif.gw)));
8897
}
98+
IPAddress dnsIP(int n) const // WiFi lib way
99+
{
100+
return IPAddress(dns_getserver(n));
101+
}
102+
IPAddress dnsServerIP() const // Ethernet lib way
103+
{
104+
return dnsIP(0);
105+
}
106+
void setDNS(IPAddress dns1, IPAddress dns2 = INADDR_ANY) // WiFi lib way
107+
{
108+
if (dns1.isSet())
109+
{
110+
dns_setserver(0, dns1);
111+
}
112+
if (dns2.isSet())
113+
{
114+
dns_setserver(1, dns2);
115+
}
116+
}
117+
void setDnsServerIP(const IPAddress dnsIP) // Ethernet lib way
118+
{
119+
setDNS(dnsIP);
120+
}
89121

90122
// 1. Currently when no default is set, esp8266-Arduino uses the first
91123
// DHCP client interface receiving a valid address and gateway to

0 commit comments

Comments
 (0)