esp_asio_config.h 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /*
  2. * SPDX-FileCopyrightText: 2018-2021 Espressif Systems (Shanghai) CO LTD
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. */
  6. #ifndef _ESP_ASIO_CONFIG_H_
  7. #define _ESP_ASIO_CONFIG_H_
  8. //
  9. // Enabling exceptions only when they are enabled in menuconfig
  10. //
  11. # include <sdkconfig.h>
  12. # ifndef CONFIG_COMPILER_CXX_EXCEPTIONS
  13. # define ASIO_NO_EXCEPTIONS
  14. # endif // CONFIG_COMPILER_CXX_EXCEPTIONS
  15. # ifndef CONFIG_COMPILER_RTTI
  16. # define ASIO_NO_TYPEID
  17. # endif // CONFIG_COMPILER_RTTI
  18. //
  19. // LWIP compatibility inet and address macros/functions
  20. //
  21. # define LWIP_COMPAT_SOCKET_INET 1
  22. # define LWIP_COMPAT_SOCKET_ADDR 1
  23. //
  24. // Specific ASIO feature flags
  25. //
  26. # define ASIO_DISABLE_SERIAL_PORT
  27. # define ASIO_SEPARATE_COMPILATION
  28. # define ASIO_STANDALONE
  29. # define ASIO_HAS_PTHREADS
  30. # ifdef CONFIG_ASIO_USE_ESP_OPENSSL
  31. # define ASIO_USE_ESP_OPENSSL
  32. # define OPENSSL_NO_ENGINE
  33. # define ASIO_SSL_DETAIL_OPENSSL_TYPES_HPP
  34. # include "openssl_stub.hpp"
  35. # elif CONFIG_ASIO_USE_ESP_WOLFSSL
  36. # define ASIO_USE_WOLFSSL
  37. # endif // CONFIG_ASIO_USE_ESP_OPENSSL
  38. #endif // _ESP_ASIO_CONFIG_H_