7#ifdef USE_SOCKET_IMPL_LWIP_TCP
18#define PF_INET AF_INET
19#define PF_UNSPEC AF_UNSPEC
25#define IP_ADD_MEMBERSHIP 3
26#define IP_DROP_MEMBERSHIP 4
36#define PF_INET6 AF_INET6
38#define IPPROTO_IPV6 41
39#define IPPROTO_ICMPV6 58
42#define TCP_NODELAY 0x01
61#define SO_REUSEADDR 0x0004
62#define SO_KEEPALIVE 0x0008
63#define SO_BROADCAST 0x0020
64#define SO_RCVTIMEO 0x1006
65#define SO_SNDTIMEO 0x1005
67#define SOL_SOCKET 0xfff
117#if defined(USE_ESP8266) || defined(USE_RP2)
126#define ESPHOME_INADDR_ANY ((uint32_t) 0x00000000UL)
127#define ESPHOME_INADDR_NONE ((uint32_t) 0xFFFFFFFFUL)
129#define ESPHOME_INADDR_ANY INADDR_ANY
130#define ESPHOME_INADDR_NONE INADDR_NONE
135#ifdef USE_SOCKET_IMPL_LWIP_SOCKETS
140#undef LWIP_COMPAT_SOCKETS
141#define LWIP_COMPAT_SOCKETS 0
143#include "lwip/sockets.h"
144#include <sys/types.h>
155#define ESPHOME_INADDR_ANY ((uint32_t) 0x00000000UL)
156#define ESPHOME_INADDR_NONE ((uint32_t) 0xFFFFFFFFUL)
158#define ESPHOME_INADDR_ANY INADDR_ANY
159#define ESPHOME_INADDR_NONE INADDR_NONE
164#ifdef USE_SOCKET_IMPL_BSD_SOCKETS
168#include <sys/ioctl.h>
169#include <sys/socket.h>
170#include <sys/types.h>
177#include <arpa/inet.h>
178#include <netinet/in.h>
179#include <netinet/ip.h>
180#include <netinet/tcp.h>
183#include <arpa/inet.h>
184#include <netinet/in.h>
196#define ESPHOME_INADDR_ANY ((uint32_t) 0x00000000UL)
197#define ESPHOME_INADDR_NONE ((uint32_t) 0xFFFFFFFFUL)
199#define ESPHOME_INADDR_ANY INADDR_ANY
200#define ESPHOME_INADDR_NONE INADDR_NONE
205#if defined(USE_SOCKET_IMPL_LWIP_TCP) || defined(USE_SOCKET_IMPL_LWIP_SOCKETS) || defined(USE_SOCKET_IMPL_BSD_SOCKETS)
208#ifndef USE_NETWORK_IPV4
209#define USE_NETWORK_IPV4 1
218static constexpr size_t SOCKADDR_STR_LEN = 46;
220static constexpr size_t SOCKADDR_STR_LEN = 16;
ConnectPollResult
Outcome of polling a non-blocking connect(); see socket::poll_connect().
@ CONNECT_POLL_RESULT_CONNECTED
@ CONNECT_POLL_RESULT_ERROR
@ CONNECT_POLL_RESULT_PENDING
struct in_addr imr_interface
struct in_addr imr_multiaddr
struct in6_addr sin6_addr
char sin_zero[SIN_ZERO_LEN]