diff --git a/core/include/kernel_types.h b/core/include/kernel_types.h index b0fafc9b8818..94ea4c9cfbab 100644 --- a/core/include/kernel_types.h +++ b/core/include/kernel_types.h @@ -11,6 +11,24 @@ #include #include +#include + +#ifndef NATIVE_INCLUDES +# include +# include + +# ifndef SSIZE_MAX +# ifdef _POSIX_SSIZE_MAX +# define SSIZE_MAX _POSIX_SSIZE_MAX +# else +# define SSIZE_MAX ((ssize_t) (SIZE_MAX / 2)) +# endif +# endif + +# if defined (MODULE_MSP430_COMMON) || defined (MODULE_ATMEGA_COMMON) + typedef signed ssize_t; +# endif +#endif /** * @def MAXTHREADS diff --git a/cpu/atmega_common/include/sys/types.h b/cpu/atmega_common/include/sys/types.h index dbd94e3013a6..34f727d489c0 100644 --- a/cpu/atmega_common/include/sys/types.h +++ b/cpu/atmega_common/include/sys/types.h @@ -10,4 +10,3 @@ #include typedef int16_t suseconds_t; -typedef size_t ssize_t; diff --git a/cpu/msp430-common/include/msp430_types.h b/cpu/msp430-common/include/msp430_types.h index f5673601b77f..839bfd5cb6c9 100644 --- a/cpu/msp430-common/include/msp430_types.h +++ b/cpu/msp430-common/include/msp430_types.h @@ -12,6 +12,9 @@ #include #include +/** defining signed type for size_t */ +#include "kernel_types.h" + #ifndef EINVAL /** * @brief defines EINVAL if MSP430 toolchain is too old to provide it itself @@ -28,9 +31,6 @@ #define EOVERFLOW (65) #endif -/** defining signed type for size_t */ -typedef _ssize_t ssize_t; - typedef unsigned long time_t; struct timespec {