From 64377b54d1b55cbe04479b8ac87ba606ba0ec7d1 Mon Sep 17 00:00:00 2001 From: Francesco Giancane Date: Thu, 9 Jan 2020 16:35:01 +0100 Subject: [PATCH 1/2] include/netinet/tcp.h: wrap lwip/tcp.h header for compatibility Some applications (i.e. Azure IoT SDK) are expecting this header to exist and to contain the tcp constants and description. The esp32 did not wrap the lwip/tcp.h header, thus this commit adds a compatibility layer. Signed-off-by: Francesco Giancane Merges https://github.com/espressif/esp-idf/pull/4637 --- .../lwip/port/esp32/include/netinet/tcp.h | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 components/lwip/port/esp32/include/netinet/tcp.h diff --git a/components/lwip/port/esp32/include/netinet/tcp.h b/components/lwip/port/esp32/include/netinet/tcp.h new file mode 100644 index 000000000..f2555cfb4 --- /dev/null +++ b/components/lwip/port/esp32/include/netinet/tcp.h @@ -0,0 +1,21 @@ +// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD +// Copyright 2020 Francesco Giancane +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at + +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef _NETINET_TCP_H +#define _NETINET_TCP_H + +#include "lwip/tcp.h" + +#endif /* _NETINET_TCP_H */ From e48fe540bee9a58abb6a8620e1c38d57b6684f40 Mon Sep 17 00:00:00 2001 From: Francesco Giancane Date: Thu, 9 Jan 2020 16:37:14 +0100 Subject: [PATCH 2/2] include/sys/socket.h: ensure SOMAXCONN symbol is defined SOMAXCONN is expected to be defined in this header, but for the esp32 port is found in net/if.h from newlib. Avoid the issue by including the net/if.h header in sys/socket.h so that compatibility is preserved. Signed-off-by: Francesco Giancane Merges https://github.com/espressif/esp-idf/pull/4637 --- components/lwip/port/esp32/include/sys/socket.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/components/lwip/port/esp32/include/sys/socket.h b/components/lwip/port/esp32/include/sys/socket.h index 0ed9baf3d..5ea4db4ab 100644 --- a/components/lwip/port/esp32/include/sys/socket.h +++ b/components/lwip/port/esp32/include/sys/socket.h @@ -31,3 +31,8 @@ */ #include "lwip/sockets.h" +/* + SOMAXCONN is expected to be found in this header too, + while for ESP32 port is defined in net/if.h +*/ +#include