diff --git a/esphome/components/socket/getaddrinfo.h b/esphome/components/socket/getaddrinfo.h index dc18991cdc..92847db468 100644 --- a/esphome/components/socket/getaddrinfo.h +++ b/esphome/components/socket/getaddrinfo.h @@ -30,4 +30,5 @@ std::unique_ptr getaddrinfo_async(const char *node, const cha #ifdef USE_ESP8266 void freeaddrinfo(struct addrinfo *ai); +const char *gai_strerror(int errcode); #endif diff --git a/esphome/components/socket/lwip_getaddrinfo_impl.cpp b/esphome/components/socket/lwip_getaddrinfo_impl.cpp index 02b75e81a2..d5cd441534 100644 --- a/esphome/components/socket/lwip_getaddrinfo_impl.cpp +++ b/esphome/components/socket/lwip_getaddrinfo_impl.cpp @@ -178,6 +178,20 @@ void freeaddrinfo(struct addrinfo *ai) { ai = next; } } +const char *gai_strerror(int errcode) { + switch (errcode) { + case EAI_BADFLAGS: return "badflags"; + case EAI_NONAME: return "noname"; + case EAI_AGAIN: return "again"; + case EAI_FAMILY: return "family"; + case EAI_SOCKTYPE: return "socktype"; + case EAI_SERVICE: return "service"; + case EAI_MEMORY: return "memory"; + case EAI_SYSTEM: return "system"; + case EAI_OVERFLOW: return "overflow"; + default: return "unknown"; + } +} #endif #endif // USE_SOCKET_HAS_LWIP