From de791765b205772fca0157918f0f0f7d8aad4292 Mon Sep 17 00:00:00 2001 From: Alexander Alashkin <alexander.alashkin@cesanta.com> Date: Sun, 8 Jan 2017 18:05:06 +0200 Subject: [PATCH] c_hello for STM32/cube, part 1 PUBLISHED_FROM=13fe18cb6c92e5dd6d9e319c35e256e2b206a110 --- mongoose.h | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 62 insertions(+), 1 deletion(-) diff --git a/mongoose.h b/mongoose.h index ca38c7d27..bb27c3fb6 100644 --- a/mongoose.h +++ b/mongoose.h @@ -57,7 +57,8 @@ #define CS_P_NRF51 12 #define CS_P_NRF52 10 #define CS_P_PIC32 11 -/* Next id: 16 */ +#define CS_P_STM32 16 +/* Next id: 17 */ /* If not specified explicitly, we guess platform by defines. */ #ifndef CS_PLATFORM @@ -87,6 +88,8 @@ #elif defined(TARGET_IS_TM4C129_RA0) || defined(TARGET_IS_TM4C129_RA1) || \ defined(TARGET_IS_TM4C129_RA2) #define CS_PLATFORM CS_P_TM4C129 +#elif defined(STM32) +#define CS_PLATFORM CS_P_STM32 #endif #ifndef CS_PLATFORM @@ -117,6 +120,7 @@ /* Amalgamated: #include "common/platforms/platform_nxp_lpc.h" */ /* Amalgamated: #include "common/platforms/platform_nxp_kinetis.h" */ /* Amalgamated: #include "common/platforms/platform_pic32.h" */ +/* Amalgamated: #include "common/platforms/platform_stm32.h" */ /* Common stuff */ @@ -1517,6 +1521,63 @@ char* inet_ntoa(struct in_addr in); #endif /* CS_COMMON_PLATFORMS_PLATFORM_PIC32_H_ */ #ifdef MG_MODULE_LINES +#line 1 "common/platforms/platform_stm32.h" +#endif +/* + * Copyright (c) 2014-2016 Cesanta Software Limited + * All rights reserved + */ + +#ifndef CS_COMMON_PLATFORMS_PLATFORM_STM32_H_ +#define CS_COMMON_PLATFORMS_PLATFORM_STM32_H_ +#if CS_PLATFORM == CS_P_STM32 + +#include <stdint.h> +#include <stdio.h> +#include <ctype.h> +#include <errno.h> +#include <memory.h> + +/* + * Fake declarations to get c_hello compiling w/out network + * TODO(alashkin): remove this during working on stm32/cude networking + */ + +typedef int sock_t; + +struct sockaddr { +}; + +struct in_addr{ + int s_addr; +}; + +struct sockaddr_in { + int sin_family; + int sin_port; + struct in_addr sin_addr; +}; + +#define INVALID_SOCKET -1 +#define SOCK_DGRAM -1 +#define SOCK_STREAM -1 +#define AF_INET -1 + +#define to64(x) strtoll(x, NULL, 10) + +#define INT64_FMT "ld" +#define SIZE_T_FMT "u" + +#define htonl(x) (x) +#define htons(x) (x) +#define ntohs(x) (x) +#define ntohl(x) (x) + +const char *inet_ntop(int af, const void *src, char *dst, int size); + +#endif /* CS_PLATFORM == CS_P_STM32 */ +#endif /* CS_COMMON_PLATFORMS_PLATFORM_STM32_H_ */ +#ifdef MG_MODULE_LINES #line 1 "common/platforms/lwip/mg_lwip.h" #endif /* -- GitLab