#ifndef CS_COMMON_PLATFORM_H_ #define CS_COMMON_PLATFORM_H_ /* * For the "custom" platform, includes and dependencies can be * provided through mg_locals.h. */ #define CS_P_CUSTOM 0 #define CS_P_UNIX 1 #define CS_P_WINDOWS 2 #define CS_P_ESP32 15 #define CS_P_ESP8266 3 #define CS_P_CC3100 6 #define CS_P_CC3200 4 #define CS_P_CC3220 17 #define CS_P_MSP432 5 #define CS_P_TM4C129 14 #define CS_P_MBED 7 #define CS_P_WINCE 8 #define CS_P_NXP_LPC 13 #define CS_P_NXP_KINETIS 9 #define CS_P_NRF51 12 #define CS_P_NRF52 10 #define CS_P_PIC32 11 #define CS_P_RS14100 18 #define CS_P_STM32 16 #define CS_P_FLIPPER 19 /* Next id: 20 */ #ifndef CS_PLATFORM #define CS_PLATFORM CS_P_FLIPPER #endif #ifndef CS_PLATFORM #error "CS_PLATFORM is not specified and we couldn't guess it." #endif #define MG_NET_IF_SOCKET 1 #define MG_NET_IF_SIMPLELINK 2 #define MG_NET_IF_LWIP_LOW_LEVEL 3 #define MG_NET_IF_PIC32 4 #define MG_NET_IF_NULL 5 #define MG_SSL_IF_OPENSSL 1 #define MG_SSL_IF_MBEDTLS 2 #define MG_SSL_IF_SIMPLELINK 3 #if CS_PLATFORM == CS_P_FLIPPER #include "platforms/platform_flipper.h" #endif /* Common stuff */ #if !defined(PRINTF_LIKE) #if defined(__GNUC__) || defined(__clang__) || defined(__TI_COMPILER_VERSION__) #define PRINTF_LIKE(f, a) __attribute__((format(printf, f, a))) #else #define PRINTF_LIKE(f, a) #endif #endif #if !defined(WEAK) #if(defined(__GNUC__) || defined(__clang__) || defined(__TI_COMPILER_VERSION__)) && \ !defined(_WIN32) #define WEAK __attribute__((weak)) #else #define WEAK #endif #endif #ifdef __GNUC__ #define NORETURN __attribute__((noreturn)) #define NOINLINE __attribute__((noinline)) #define WARN_UNUSED_RESULT __attribute__((warn_unused_result)) #define NOINSTR __attribute__((no_instrument_function)) #define DO_NOT_WARN_UNUSED __attribute__((unused)) #else #define NORETURN #define NOINLINE #define WARN_UNUSED_RESULT #define NOINSTR #define DO_NOT_WARN_UNUSED #endif /* __GNUC__ */ #ifndef ARRAY_SIZE #define ARRAY_SIZE(array) (sizeof(array) / sizeof(array[0])) #endif #endif /* CS_COMMON_PLATFORM_H_ */