lws-freertos.h (2750B)
1/* 2 * libwebsockets - small server side websockets and web server implementation 3 * 4 * Copyright (C) 2010 - 2020 Andy Green <andy@warmcat.com> 5 * 6 * Permission is hereby granted, free of charge, to any person obtaining a copy 7 * of this software and associated documentation files (the "Software"), to 8 * deal in the Software without restriction, including without limitation the 9 * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 10 * sell copies of the Software, and to permit persons to whom the Software is 11 * furnished to do so, subject to the following conditions: 12 * 13 * The above copyright notice and this permission notice shall be included in 14 * all copies or substantial portions of the Software. 15 * 16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 22 * IN THE SOFTWARE. 23 * 24 * This is included from libwebsockets.h if LWS_PLAT_FREERTOS 25 */ 26 27typedef int lws_sockfd_type; 28typedef int lws_filefd_type; 29 30#if defined(LWS_AMAZON_RTOS) 31#include <FreeRTOS.h> 32#include <event_groups.h> 33#include <string.h> 34#include "timers.h" 35#include <lwip/sockets.h> 36 37/* 38 * Later lwip (at least 2.1.12) already defines these in its own headers 39 * protected by the same test as used here... if POLLIN / POLLOUT already exist 40 * then assume no need to declare those and struct pollfd. 41 * 42 * Older lwip needs these declarations done here. 43 */ 44 45#if !defined(POLLIN) && !defined(POLLOUT) 46 47struct pollfd { 48 lws_sockfd_type fd; /**< fd related to */ 49 short events; /**< which POLL... events to respond to */ 50 short revents; /**< which POLL... events occurred */ 51}; 52#define POLLIN 0x0001 53#define POLLPRI 0x0002 54#define POLLOUT 0x0004 55#define POLLERR 0x0008 56#define POLLHUP 0x0010 57#define POLLNVAL 0x0020 58 59#endif 60 61#else /* LWS_AMAZON_RTOS */ 62#include <freertos/FreeRTOS.h> 63#include <freertos/event_groups.h> 64#include <string.h> 65#include "esp_wifi.h" 66#include "esp_system.h" 67#include "esp_event.h" 68//#include "esp_event_loop.h" 69#include "nvs.h" 70#include "driver/gpio.h" 71#include "esp_spi_flash.h" 72#include "freertos/timers.h" 73 74#if defined(LWS_ESP_PLATFORM) 75#include "lwip/sockets.h" 76#include "lwip/netdb.h" 77#if defined(LWS_WITH_DRIVERS) 78#include "libwebsockets/lws-gpio.h" 79extern const lws_gpio_ops_t lws_gpio_plat; 80#endif 81#endif 82 83#endif /* LWS_AMAZON_RTOS */ 84 85#if !defined(CONFIG_FREERTOS_HZ) 86#define CONFIG_FREERTOS_HZ 100 87#endif