1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-07-27 18:02:17 +03:00

emulation on host: various fixes (#7355)

(trying to compile LEAmDNS2)
This commit is contained in:
david gauchard
2020-06-07 19:12:04 +02:00
committed by GitHub
parent 23febc189b
commit 45feadcb4a
4 changed files with 45 additions and 3 deletions

View File

@ -28,6 +28,8 @@ class UdpContext;
#define GET_IP_HDR(pb) reinterpret_cast<ip_hdr*>(((uint8_t*)((pb)->payload)) - UDP_HLEN - IP_HLEN);
#define GET_UDP_HDR(pb) reinterpret_cast<udp_hdr*>(((uint8_t*)((pb)->payload)) - UDP_HLEN);
extern netif netif0;
class UdpContext
{
public:
@ -86,12 +88,24 @@ public:
_dst.addr = staticMCastAddr;
}
void setMulticastInterface(netif* p_pNetIf)
{
(void)p_pNetIf;
// user multicast, and this is how it works with posix: send to multicast address:
_dst.addr = staticMCastAddr;
}
void setMulticastTTL(int ttl)
{
(void)ttl;
//mockverbose("TODO: UdpContext::setMulticastTTL\n");
}
netif* getInputNetif() const
{
return &netif0;
}
// warning: handler is called from tcp stack context
// esp_yield and non-reentrant functions which depend on it will fail
void onRx(rxhandler_t handler) {
@ -246,7 +260,7 @@ private:
uint8_t addr[16];
};
inline err_t igmp_joingroup (const ip4_addr_t *ifaddr, const ip4_addr_t *groupaddr)
extern "C" inline err_t igmp_joingroup (const ip4_addr_t *ifaddr, const ip4_addr_t *groupaddr)
{
(void)ifaddr;
UdpContext::staticMCastAddr = groupaddr->addr;