diff options
Diffstat (limited to 'firmware/include')
| -rw-r--r-- | firmware/include/inttypes.h | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/firmware/include/inttypes.h b/firmware/include/inttypes.h index bca06de..6127485 100644 --- a/firmware/include/inttypes.h +++ b/firmware/include/inttypes.h @@ -20,14 +20,34 @@ #ifndef __INTTYPES_H__ #define __INTTYPES_H__ -#define int8_t signed char -#define int16_t short -#define int32_t long -#define int64_t long long +#include <limits.h> +/* 8 bit */ +#define int8_t signed char #define uint8_t unsigned char + +/* 16 bit */ +#if USHRT_MAX == 0xffff +#define int16_t short #define uint16_t unsigned short +#endif + +/* 32 bit */ +#if ULONG_MAX == 0xfffffffful +#define int32_t long #define uint32_t unsigned long +#elif UINT_MAX == 0xffffffffu +#define int32_t int +#define uint32_t unsigned int +#endif + +/* 64 bit */ +#if ULONG_MAX == 0xffffffffffffffffull +#define int64_t long +#define uint64_t unsigned long +#else +#define int64_t long long #define uint64_t unsigned long long +#endif #endif /* __INTTYPES_H__ */ |