1
0
Fork 0
mirror of https://github.com/warmcat/libwebsockets.git synced 2025-03-09 00:00:04 +01:00

adaptations

This commit is contained in:
Andy Green 2019-01-11 13:13:19 +08:00
parent 0adc845507
commit c8987a14bc
7 changed files with 31 additions and 10 deletions

View file

@ -331,11 +331,27 @@ typedef int lws_sockfd_type;
typedef int lws_filefd_type;
#endif
#if defined(LWS_PLAT_OPTEE)
#include <poll.h>
#define lws_pollfd pollfd
#define LWS_POLLHUP (POLLHUP|POLLERR)
//struct lws_pollfd
//{
// int fd; /* File descriptor to poll. */
// short int events; /* Types of events poller cares about. */
// short int revents; /* Types of events that actually occurred. */
//};
#define LWS_POLLHUP (0x18)
#define LWS_POLLIN (1)
#define LWS_POLLOUT (4)
#else
#define lws_pollfd pollfd
#define LWS_POLLHUP (POLLHUP | POLLERR)
#define LWS_POLLIN (POLLIN)
#define LWS_POLLOUT (POLLOUT)
#endif
#endif
#if (defined(WIN32) || defined(_WIN32)) && !defined(__MINGW32__)

View file

@ -78,7 +78,7 @@ typedef union {
lws_filefd_type filefd;
} lws_sock_file_fd_type;
#if !defined(LWS_WITH_ESP32)
#if !defined(LWS_WITH_ESP32) && !defined(LWS_PLAT_OPTEE)
struct lws_udp {
struct sockaddr sa;
socklen_t salen;

View file

@ -77,7 +77,7 @@ lws_get_peer_simple(struct lws *wsi, char *name, int namelen);
#define LWS_ITOSA_BUSY -3 /* only returned by lws_socket_bind() on
EADDRINUSE */
#if !defined(LWS_WITH_ESP32)
#if !defined(LWS_WITH_ESP32) && !defined(LWS_PLAT_OPTEE)
/**
* lws_interface_to_sa() - Convert interface name or IP to sockaddr struct
*

View file

@ -1211,7 +1211,7 @@ lws_get_urlarg_by_name(struct lws *wsi, const char *name, char *buf, int len)
return NULL;
}
#if !defined(LWS_WITH_ESP32)
#if !defined(LWS_WITH_ESP32) && !defined(LWS_PLAT_OPTEE)
LWS_VISIBLE int
interface_to_sa(struct lws_vhost *vh, const char *ifname,
struct sockaddr_in *addr, size_t addrlen)
@ -2685,7 +2685,7 @@ lws_socket_bind(struct lws_vhost *vhost, lws_sockfd_type sockfd, int port,
socklen_t len = sizeof(struct sockaddr_storage);
#endif
int n;
#if !defined(LWS_WITH_ESP32)
#if !defined(LWS_WITH_ESP32) && !defined(LWS_PLAT_OPTEE)
int m;
#endif
struct sockaddr_storage sin;
@ -2746,7 +2746,7 @@ lws_socket_bind(struct lws_vhost *vhost, lws_sockfd_type sockfd, int port,
serv_addr4.sin_addr.s_addr = INADDR_ANY;
serv_addr4.sin_family = AF_INET;
#if !defined(LWS_WITH_ESP32)
#if !defined(LWS_WITH_ESP32) && !defined(LWS_PLAT_OPTEE)
if (iface) {
m = interface_to_sa(vhost, iface,
(struct sockaddr_in *)v, n);

View file

@ -199,7 +199,7 @@ int lws_issue_raw(struct lws *wsi, unsigned char *buf, size_t len)
lws_stats_atomic_bump(wsi->context, pt,
LWSSTATS_B_PARTIALS_ACCEPTED_PARTS, m);
#if !defined(LWS_WITH_ESP32)
#if !defined(LWS_WITH_ESP32) && !defined(LWS_PLAT_OPTEE)
if (lws_wsi_is_udp(wsi)) {
/* stash original destination for fulfilling UDP partials */
wsi->udp->sa_pending = wsi->udp->sa;
@ -251,7 +251,7 @@ lws_ssl_capable_read_no_ssl(struct lws *wsi, unsigned char *buf, int len)
lws_stats_atomic_bump(context, pt, LWSSTATS_C_API_READ, 1);
if (lws_wsi_is_udp(wsi)) {
#if !defined(LWS_WITH_ESP32)
#if !defined(LWS_WITH_ESP32) && !defined(LWS_PLAT_OPTEE)
wsi->udp->salen = sizeof(wsi->udp->sa);
n = recvfrom(wsi->desc.sockfd, (char *)buf, len, 0,
&wsi->udp->sa, &wsi->udp->salen);
@ -286,7 +286,7 @@ lws_ssl_capable_write_no_ssl(struct lws *wsi, unsigned char *buf, int len)
int n = 0;
if (lws_wsi_is_udp(wsi)) {
#if !defined(LWS_WITH_ESP32)
#if !defined(LWS_WITH_ESP32) && !defined(LWS_PLAT_OPTEE)
if (lws_has_buffered_out(wsi))
n = sendto(wsi->desc.sockfd, (const char *)buf,
len, 0, &wsi->udp->sa_pending,

View file

@ -2023,7 +2023,12 @@ lws_http_transaction_completed(struct lws *wsi)
if (!wsi->hdr_parsing_completed) {
char peer[64];
#if !defined(LWS_PLAT_OPTEE)
lws_get_peer_simple(wsi, peer, sizeof(peer) - 1);
#else
peer[0] = '\0';
#endif
peer[sizeof(peer) - 1] = '\0';
lwsl_notice("%s: (from %s) ignoring, ah parsing incomplete\n",
__func__, peer);

View file

@ -144,7 +144,7 @@ rops_adoption_bind_raw_skt(struct lws *wsi, int type, const char *vh_prot_name)
(type & _LWS_ADOPT_FINISH))
return 0; /* no match */
#if !defined(LWS_WITH_ESP32)
#if !defined(LWS_WITH_ESP32) && !defined(LWS_PLAT_OPTEE)
if (type & LWS_ADOPT_FLAG_UDP)
/*
* these can be >128 bytes, so just alloc for UDP