xref: /btstack/platform/lwip/port/arch/cc.h (revision 235be4f4c8186ae87e48b71d082326145296f408)
1*235be4f4SMatthias Ringwald #ifndef LWIP_ARCH_CC_H
2*235be4f4SMatthias Ringwald #define LWIP_ARCH_CC_H
3*235be4f4SMatthias Ringwald 
4*235be4f4SMatthias Ringwald /* see https://sourceforge.net/p/predef/wiki/OperatingSystems/ */
5*235be4f4SMatthias Ringwald #if defined __ANDROID__
6*235be4f4SMatthias Ringwald #define LWIP_UNIX_ANDROID
7*235be4f4SMatthias Ringwald #elif defined __linux__
8*235be4f4SMatthias Ringwald #define LWIP_UNIX_LINUX
9*235be4f4SMatthias Ringwald #elif defined __APPLE__
10*235be4f4SMatthias Ringwald #define LWIP_UNIX_MACH
11*235be4f4SMatthias Ringwald #elif defined __OpenBSD__
12*235be4f4SMatthias Ringwald #define LWIP_UNIX_OPENBSD
13*235be4f4SMatthias Ringwald #elif defined __CYGWIN__
14*235be4f4SMatthias Ringwald #define LWIP_UNIX_CYGWIN
15*235be4f4SMatthias Ringwald #elif defined __GNU__
16*235be4f4SMatthias Ringwald #define LWIP_UNIX_HURD
17*235be4f4SMatthias Ringwald #endif
18*235be4f4SMatthias Ringwald 
19*235be4f4SMatthias Ringwald #if defined(LWIP_UNIX_MACH)
20*235be4f4SMatthias Ringwald /* sys/types.h and signal.h bring in Darwin byte order macros. pull the
21*235be4f4SMatthias Ringwald    header here and disable LwIP's version so that apps still can get
22*235be4f4SMatthias Ringwald    the macros via LwIP headers and use system headers */
23*235be4f4SMatthias Ringwald #include <sys/types.h>
24*235be4f4SMatthias Ringwald #define LWIP_DONT_PROVIDE_BYTEORDER_FUNCTIONS
25*235be4f4SMatthias Ringwald 
26*235be4f4SMatthias Ringwald #define lwip_htons(x) htons(x)
27*235be4f4SMatthias Ringwald #define lwip_htonl(x) htonl(x)
28*235be4f4SMatthias Ringwald #endif
29*235be4f4SMatthias Ringwald 
30*235be4f4SMatthias Ringwald 
31*235be4f4SMatthias Ringwald #endif
32