diff --git a/mongoose.h b/mongoose.h index 51ba7b822e..438cc3f3a6 100644 --- a/mongoose.h +++ b/mongoose.h @@ -386,6 +386,10 @@ static inline int mg_mkdir(const char *path, mode_t mode) { #define MG_PATH_MAX FILENAME_MAX #endif +#ifndef MG_ENABLE_POSIX_FS +#define MG_ENABLE_POSIX_FS 1 +#endif + #endif @@ -499,6 +503,10 @@ typedef int socklen_t; #define SIGPIPE 0 #endif +#ifndef MG_ENABLE_POSIX_FS +#define MG_ENABLE_POSIX_FS 1 +#endif + #endif @@ -782,12 +790,8 @@ struct timeval { #endif #ifndef MG_ENABLE_POSIX_FS -#if defined(FOPEN_MAX) -#define MG_ENABLE_POSIX_FS 1 -#else #define MG_ENABLE_POSIX_FS 0 #endif -#endif #ifndef MG_INVALID_SOCKET #define MG_INVALID_SOCKET (-1) @@ -3070,14 +3074,22 @@ struct mg_tcpip_driver_tm4c_data { #endif -#if MG_ENABLE_TCPIP && defined(MG_ENABLE_DRIVER_W5500) && MG_ENABLE_DRIVER_W5500 - -#endif - - -#if MG_ENABLE_TCPIP && defined(MG_ENABLE_DRIVER_XMC7) && MG_ENABLE_DRIVER_XMC7 +#if MG_ENABLE_TCPIP && defined(MG_ENABLE_DRIVER_XMC) && MG_ENABLE_DRIVER_XMC -struct mg_tcpip_driver_xmc7_data { +struct mg_tcpip_driver_xmc_data { + // 13.2.8.1 Station Management Functions + // MDC clock divider (). MDC clock is derived from ETH MAC clock + // It must not exceed 2.5MHz + // ETH Clock range DIVIDER mdc_cr VALUE + // -------------------------------------------- + // -1 <-- tell driver to guess the value + // 60-100 MHz ETH Clock/42 0 + // 100-150 MHz ETH Clock/62 1 + // 20-35 MHz ETH Clock/16 2 + // 35-60 MHz ETH Clock/26 3 + // 150-250 MHz ETH Clock/102 4 + // 250-300 MHz ETH Clock/124 5 + // 110, 111 Reserved int mdc_cr; // Valid values: -1, 0, 1, 2, 3, 4, 5 uint8_t phy_addr; }; @@ -3087,45 +3099,31 @@ struct mg_tcpip_driver_xmc7_data { #endif #ifndef MG_DRIVER_MDC_CR -#define MG_DRIVER_MDC_CR 3 +#define MG_DRIVER_MDC_CR 4 #endif #define MG_TCPIP_DRIVER_INIT(mgr) \ do { \ - static struct mg_tcpip_driver_xmc7_data driver_data_; \ + static struct mg_tcpip_driver_xmc_data driver_data_; \ static struct mg_tcpip_if mif_; \ driver_data_.mdc_cr = MG_DRIVER_MDC_CR; \ driver_data_.phy_addr = MG_TCPIP_PHY_ADDR; \ mif_.ip = MG_TCPIP_IP; \ mif_.mask = MG_TCPIP_MASK; \ mif_.gw = MG_TCPIP_GW; \ - mif_.driver = &mg_tcpip_driver_xmc7; \ + mif_.driver = &mg_tcpip_driver_xmc; \ mif_.driver_data = &driver_data_; \ MG_SET_MAC_ADDRESS(mif_.mac); \ mg_tcpip_init(mgr, &mif_); \ - MG_INFO(("Driver: xmc7, MAC: %M", mg_print_mac, mif_.mac)); \ + MG_INFO(("Driver: xmc, MAC: %M", mg_print_mac, mif_.mac)); \ } while (0) #endif +#if MG_ENABLE_TCPIP && defined(MG_ENABLE_DRIVER_XMC7) && MG_ENABLE_DRIVER_XMC7 -#if MG_ENABLE_TCPIP && defined(MG_ENABLE_DRIVER_XMC) && MG_ENABLE_DRIVER_XMC - -struct mg_tcpip_driver_xmc_data { - // 13.2.8.1 Station Management Functions - // MDC clock divider (). MDC clock is derived from ETH MAC clock - // It must not exceed 2.5MHz - // ETH Clock range DIVIDER mdc_cr VALUE - // -------------------------------------------- - // -1 <-- tell driver to guess the value - // 60-100 MHz ETH Clock/42 0 - // 100-150 MHz ETH Clock/62 1 - // 20-35 MHz ETH Clock/16 2 - // 35-60 MHz ETH Clock/26 3 - // 150-250 MHz ETH Clock/102 4 - // 250-300 MHz ETH Clock/124 5 - // 110, 111 Reserved +struct mg_tcpip_driver_xmc7_data { int mdc_cr; // Valid values: -1, 0, 1, 2, 3, 4, 5 uint8_t phy_addr; }; @@ -3135,27 +3133,28 @@ struct mg_tcpip_driver_xmc_data { #endif #ifndef MG_DRIVER_MDC_CR -#define MG_DRIVER_MDC_CR 4 +#define MG_DRIVER_MDC_CR 3 #endif #define MG_TCPIP_DRIVER_INIT(mgr) \ do { \ - static struct mg_tcpip_driver_xmc_data driver_data_; \ + static struct mg_tcpip_driver_xmc7_data driver_data_; \ static struct mg_tcpip_if mif_; \ driver_data_.mdc_cr = MG_DRIVER_MDC_CR; \ driver_data_.phy_addr = MG_TCPIP_PHY_ADDR; \ mif_.ip = MG_TCPIP_IP; \ mif_.mask = MG_TCPIP_MASK; \ mif_.gw = MG_TCPIP_GW; \ - mif_.driver = &mg_tcpip_driver_xmc; \ + mif_.driver = &mg_tcpip_driver_xmc7; \ mif_.driver_data = &driver_data_; \ MG_SET_MAC_ADDRESS(mif_.mac); \ mg_tcpip_init(mgr, &mif_); \ - MG_INFO(("Driver: xmc, MAC: %M", mg_print_mac, mif_.mac)); \ + MG_INFO(("Driver: xmc7, MAC: %M", mg_print_mac, mif_.mac)); \ } while (0) #endif + #ifdef __cplusplus } #endif diff --git a/src/arch_unix.h b/src/arch_unix.h index eaf1876d0d..ea76e3b4cd 100644 --- a/src/arch_unix.h +++ b/src/arch_unix.h @@ -56,4 +56,8 @@ #define MG_PATH_MAX FILENAME_MAX #endif +#ifndef MG_ENABLE_POSIX_FS +#define MG_ENABLE_POSIX_FS 1 +#endif + #endif diff --git a/src/arch_win32.h b/src/arch_win32.h index ab96ec7219..2f9a70748d 100644 --- a/src/arch_win32.h +++ b/src/arch_win32.h @@ -110,4 +110,8 @@ typedef int socklen_t; #define SIGPIPE 0 #endif +#ifndef MG_ENABLE_POSIX_FS +#define MG_ENABLE_POSIX_FS 1 +#endif + #endif diff --git a/src/config.h b/src/config.h index d1acf6b56a..37e6c54d71 100644 --- a/src/config.h +++ b/src/config.h @@ -118,12 +118,8 @@ #endif #ifndef MG_ENABLE_POSIX_FS -#if defined(FOPEN_MAX) -#define MG_ENABLE_POSIX_FS 1 -#else #define MG_ENABLE_POSIX_FS 0 #endif -#endif #ifndef MG_INVALID_SOCKET #define MG_INVALID_SOCKET (-1)