cc.h 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. /*
  2. * SPDX-FileCopyrightText: 2001-2003 Swedish Institute of Computer Science
  3. *
  4. * SPDX-License-Identifier: BSD-3-Clause
  5. *
  6. * SPDX-FileContributor: 2022-2023 Espressif Systems (Shanghai) CO LTD
  7. */
  8. #ifndef LWIP_ARCH_CC_H
  9. #define LWIP_ARCH_CC_H
  10. /* see https://sourceforge.net/p/predef/wiki/OperatingSystems/ */
  11. #if defined __ANDROID__
  12. #define LWIP_UNIX_ANDROID
  13. #elif defined __linux__
  14. #define LWIP_UNIX_LINUX
  15. #elif defined __APPLE__
  16. #define LWIP_UNIX_MACH
  17. #elif defined __OpenBSD__
  18. #define LWIP_UNIX_OPENBSD
  19. #elif defined __CYGWIN__
  20. #define LWIP_UNIX_CYGWIN
  21. #elif defined __GNU__
  22. #define LWIP_UNIX_HURD
  23. #endif
  24. #define LWIP_TIMEVAL_PRIVATE 0
  25. #include <sys/time.h>
  26. #include "esp_linux_helper.h"
  27. #define LWIP_ERRNO_INCLUDE <errno.h>
  28. #if defined(LWIP_UNIX_LINUX) || defined(LWIP_UNIX_HURD)
  29. #define LWIP_ERRNO_STDINCLUDE 1
  30. #endif
  31. /* different handling for unit test, normally not needed */
  32. #ifdef LWIP_NOASSERT_ON_ERROR
  33. #define LWIP_ERROR(message, expression, handler) do { if (!(expression)) { \
  34. handler;}} while(0)
  35. #endif
  36. #if defined(LWIP_UNIX_ANDROID) && defined(FD_SET)
  37. typedef __kernel_fd_set fd_set;
  38. #endif
  39. #if defined(LWIP_UNIX_MACH)
  40. /* sys/types.h and signal.h bring in Darwin byte order macros. pull the
  41. header here and disable LwIP's version so that apps still can get
  42. the macros via LwIP headers and use system headers */
  43. #include <sys/types.h>
  44. #define LWIP_DONT_PROVIDE_BYTEORDER_FUNCTIONS
  45. #endif
  46. struct sio_status_s;
  47. typedef struct sio_status_s sio_status_t;
  48. #define sio_fd_t sio_status_t*
  49. #define __sio_fd_t_defined
  50. typedef unsigned int sys_prot_t;
  51. #endif /* LWIP_ARCH_CC_H */