/* * Copyright (c) 2014-2018 Cesanta Software Limited * All rights reserved * * Licensed under the Apache License, Version 2.0 (the ""License""); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an ""AS IS"" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef CS_COMMON_PLATFORMS_PLATFORM_MBED_H_ #define CS_COMMON_PLATFORMS_PLATFORM_MBED_H_ #if CS_PLATFORM == CS_P_MBED /* * mbed.h contains C++ code (e.g. templates), thus, it should be processed * only if included directly to startup file (ex: main.cpp) */ #ifdef __cplusplus #include "mbed.h" #endif /* __cplusplus */ #include #include #include #include #include #include #include #include #include #include #include typedef struct stat cs_stat_t; #define DIRSEP '/' #ifndef CS_ENABLE_STDIO #define CS_ENABLE_STDIO 1 #endif /* * mbed can be compiled with the ARM compiler which * just doesn't come with a gettimeofday shim * because it's a BSD API and ARM targets embedded * non-unix platforms. */ #if defined(__ARMCC_VERSION) || defined(__ICCARM__) #define _TIMEVAL_DEFINED #define gettimeofday _gettimeofday /* copied from GCC on ARM; for some reason useconds are signed */ typedef long suseconds_t; /* microseconds (signed) */ struct timeval { time_t tv_sec; /* seconds */ suseconds_t tv_usec; /* and microseconds */ }; #endif #if MG_NET_IF == MG_NET_IF_SIMPLELINK #define MG_SIMPLELINK_NO_OSI 1 #include typedef int sock_t; #define INVALID_SOCKET (-1) #define to64(x) strtoll(x, NULL, 10) #define INT64_FMT PRId64 #define INT64_X_FMT PRIx64 #define SIZE_T_FMT "u" #define SOMAXCONN 8 const char *inet_ntop(int af, const void *src, char *dst, socklen_t size); char *inet_ntoa(struct in_addr in); int inet_pton(int af, const char *src, void *dst); int inet_aton(const char *cp, struct in_addr *inp); in_addr_t inet_addr(const char *cp); #endif /* MG_NET_IF == MG_NET_IF_SIMPLELINK */ #endif /* CS_PLATFORM == CS_P_MBED */ #endif /* CS_COMMON_PLATFORMS_PLATFORM_MBED_H_ */