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