87#if defined(LWS_ESP_PLATFORM)
88#include <lwip/sockets.h>
92#if defined(LWS_WITH_IPV6)
95#if defined(LWS_ESP_PLATFORM)
102#define sa46_sockaddr(_sa46) ((struct sockaddr *)(_sa46))
104#if defined(LWS_WITH_IPV6)
105#define sa46_socklen(_sa46) (socklen_t)((_sa46)->sa4.sin_family == AF_INET ? \
106 sizeof(struct sockaddr_in) : \
107 sizeof(struct sockaddr_in6))
108#define sa46_sockport(_sa46, _sp) { if ((_sa46)->sa4.sin_family == AF_INET) \
109 (_sa46)->sa4.sin_port = (_sp); else \
110 (_sa46)->sa6.sin6_port = (_sp); }
111#define sa46_address(_sa46) ((uint8_t *)((_sa46)->sa4.sin_family == AF_INET ? \
112 &_sa46->sa4.sin_addr : &_sa46->sa6.sin6_addr ))
114#define sa46_socklen(_sa46) (socklen_t)sizeof(struct sockaddr_in)
115#define sa46_sockport(_sa46, _sp) (_sa46)->sa4.sin_port = (_sp)
116#define sa46_address(_sa46) (uint8_t *)&_sa46->sa4.sin_addr
119#define sa46_address_len(_sa46) ((_sa46)->sa4.sin_family == AF_INET ? 4 : 16)
121#if defined(LWS_WITH_UDP)
173#if defined(LWS_WITH_TLS) && !defined(LWS_WITH_MBEDTLS) && !defined(LWS_WITH_BEARSSL)
181lws_get_ssl(
struct lws *wsi);
202 int (*
read)(
struct lws *wsi,
void *opaque,
uint8_t *buf,
size_t len);
223 struct lws_vhost *
vh;
289 const char *readbuf,
size_t len);
317#define LWS_CAUDP_BIND (1 << 0)
318#define LWS_CAUDP_BROADCAST (1 << 1)
319#define LWS_CAUDP_PF_PACKET (1 << 2)
321#if defined(LWS_WITH_UDP)
344lws_create_adopt_udp(
struct lws_vhost *vhost,
const char *ads,
int port,
345 int flags,
const char *protocol_name,
const char *ifname,
346 struct lws *parent_wsi,
void *opaque,
const char * vh_prot_name
LWS_VISIBLE LWS_EXTERN struct lws * lws_adopt_descriptor_vhost(struct lws_vhost *vh, lws_adoption_type type, lws_sock_file_fd_type fd, const char *vh_prot_name, struct lws *parent)
LWS_VISIBLE LWS_EXTERN struct lws * lws_adopt_socket_vhost_readbuf(struct lws_vhost *vhost, lws_sockfd_type accept_fd, const char *readbuf, size_t len)
LWS_VISIBLE LWS_EXTERN const struct lws_udp *LWS_WARN_UNUSED_RESULT lws_get_udp(const struct lws *wsi)
LWS_VISIBLE LWS_EXTERN struct lws * lws_adopt_socket(struct lws_context *context, lws_sockfd_type accept_fd)
struct lws_adopt_desc lws_adopt_desc_t
LWS_VISIBLE LWS_EXTERN struct lws * lws_adopt_socket_readbuf(struct lws_context *context, lws_sockfd_type accept_fd, const char *readbuf, size_t len)
LWS_VISIBLE LWS_EXTERN lws_sockfd_type lws_get_socket_fd(struct lws *wsi)
LWS_VISIBLE LWS_EXTERN struct lws * lws_adopt_socket_vhost(struct lws_vhost *vh, lws_sockfd_type accept_fd)
LWS_VISIBLE LWS_EXTERN struct lws * lws_adopt_descriptor_vhost_via_info(const lws_adopt_desc_t *info)
struct lws_transport_ops lws_transport_ops_t
LWS_VISIBLE LWS_EXTERN void lws_set_transport(struct lws *wsi, const lws_transport_ops_t *ops, void *opaque)
@ LWS_ADOPT_FLAG_RAW_PROXY
@ LWS_ADOPT_FLAG_NO_NONBLOCK
@ LWS_ADOPT_RAW_FILE_DESC
@ LWS_ADOPT_RAW_SOCKET_UDP
#define LWS_WARN_UNUSED_RESULT
struct lws_retry_bo lws_retry_bo_t
int(* read)(struct lws *wsi, void *opaque, uint8_t *buf, size_t len)
int(* write)(struct lws *wsi, void *opaque, const uint8_t *buf, size_t len)
int(* recv_dgram)(struct lws *wsi, void *opaque, uint8_t *buf, size_t len, lws_sockaddr46 *peer, uint8_t *ecn)
int(* send_dgram)(struct lws *wsi, void *opaque, const uint8_t *buf, size_t len, const lws_sockaddr46 *dest)