7#ifdef USE_SOCKET_IMPL_LWIP_TCP
18#define PF_INET AF_INET
19#define PF_UNSPEC AF_UNSPEC
26#define PF_INET6 AF_INET6
28#define IPPROTO_IPV6 41
29#define IPPROTO_ICMPV6 58
32#define TCP_NODELAY 0x01
51#define SO_REUSEADDR 0x0004
52#define SO_KEEPALIVE 0x0008
53#define SO_BROADCAST 0x0020
54#define SO_RCVTIMEO 0x1006
55#define SO_SNDTIMEO 0x1005
57#define SOL_SOCKET 0xfff
107#if defined(USE_ESP8266) || defined(USE_RP2040)
116#define ESPHOME_INADDR_ANY ((uint32_t) 0x00000000UL)
117#define ESPHOME_INADDR_NONE ((uint32_t) 0xFFFFFFFFUL)
119#define ESPHOME_INADDR_ANY INADDR_ANY
120#define ESPHOME_INADDR_NONE INADDR_NONE
125#ifdef USE_SOCKET_IMPL_LWIP_SOCKETS
130#undef LWIP_COMPAT_SOCKETS
131#define LWIP_COMPAT_SOCKETS 0
133#include "lwip/sockets.h"
134#include <sys/types.h>
145#define ESPHOME_INADDR_ANY ((uint32_t) 0x00000000UL)
146#define ESPHOME_INADDR_NONE ((uint32_t) 0xFFFFFFFFUL)
148#define ESPHOME_INADDR_ANY INADDR_ANY
149#define ESPHOME_INADDR_NONE INADDR_NONE
154#ifdef USE_SOCKET_IMPL_BSD_SOCKETS
158#include <sys/ioctl.h>
159#include <sys/socket.h>
160#include <sys/types.h>
165#include <arpa/inet.h>
166#include <netinet/in.h>
167#include <netinet/ip.h>
168#include <netinet/tcp.h>
180#define ESPHOME_INADDR_ANY ((uint32_t) 0x00000000UL)
181#define ESPHOME_INADDR_NONE ((uint32_t) 0xFFFFFFFFUL)
183#define ESPHOME_INADDR_ANY INADDR_ANY
184#define ESPHOME_INADDR_NONE INADDR_NONE
189#if defined(USE_SOCKET_IMPL_LWIP_TCP) || defined(USE_SOCKET_IMPL_LWIP_SOCKETS) || defined(USE_SOCKET_IMPL_BSD_SOCKETS)
197static constexpr size_t SOCKADDR_STR_LEN = 46;
199static constexpr size_t SOCKADDR_STR_LEN = 16;
struct in6_addr sin6_addr
char sin_zero[SIN_ZERO_LEN]