1 #ifndef _STDINT_H 2 #define _STDINT_H 3 4 #ifdef __ICCARM__ /* for iar */ 5 #include_next <stdint.h> 6 #else 7 8 #define __NEED_int8_t 9 #define __NEED_int16_t 10 #define __NEED_int32_t 11 #define __NEED_int64_t 12 13 #define __NEED_uint8_t 14 #define __NEED_uint16_t 15 #define __NEED_uint32_t 16 #define __NEED_uint64_t 17 18 #define __NEED_intptr_t 19 #define __NEED_uintptr_t 20 21 #define __NEED_intmax_t 22 #define __NEED_uintmax_t 23 24 #include <bits/alltypes.h> 25 26 typedef int8_t int_fast8_t; 27 typedef int64_t int_fast64_t; 28 29 typedef int8_t int_least8_t; 30 typedef int16_t int_least16_t; 31 typedef int32_t int_least32_t; 32 typedef int64_t int_least64_t; 33 34 typedef uint8_t uint_fast8_t; 35 typedef uint64_t uint_fast64_t; 36 37 typedef uint8_t uint_least8_t; 38 typedef uint16_t uint_least16_t; 39 typedef uint32_t uint_least32_t; 40 typedef uint64_t uint_least64_t; 41 42 #define INT8_MIN (-1-0x7f) 43 #define INT16_MIN (-1-0x7fff) 44 #define INT32_MIN (-1-0x7fffffff) 45 #define INT64_MIN (-1-0x7fffffffffffffff) 46 47 #define INT8_MAX (0x7f) 48 #define INT16_MAX (0x7fff) 49 #define INT32_MAX (0x7fffffff) 50 #define INT64_MAX (0x7fffffffffffffff) 51 52 #define UINT8_MAX (0xff) 53 #define UINT16_MAX (0xffff) 54 #define UINT32_MAX (0xffffffffu) 55 #define UINT64_MAX (0xffffffffffffffffu) 56 57 #define INT_FAST8_MIN INT8_MIN 58 #define INT_FAST64_MIN INT64_MIN 59 60 #define INT_LEAST8_MIN INT8_MIN 61 #define INT_LEAST16_MIN INT16_MIN 62 #define INT_LEAST32_MIN INT32_MIN 63 #define INT_LEAST64_MIN INT64_MIN 64 65 #define INT_FAST8_MAX INT8_MAX 66 #define INT_FAST64_MAX INT64_MAX 67 68 #define INT_LEAST8_MAX INT8_MAX 69 #define INT_LEAST16_MAX INT16_MAX 70 #define INT_LEAST32_MAX INT32_MAX 71 #define INT_LEAST64_MAX INT64_MAX 72 73 #define UINT_FAST8_MAX UINT8_MAX 74 #define UINT_FAST64_MAX UINT64_MAX 75 76 #define UINT_LEAST8_MAX UINT8_MAX 77 #define UINT_LEAST16_MAX UINT16_MAX 78 #define UINT_LEAST32_MAX UINT32_MAX 79 #define UINT_LEAST64_MAX UINT64_MAX 80 81 #define INTMAX_MIN INT64_MIN 82 #define INTMAX_MAX INT64_MAX 83 #define UINTMAX_MAX UINT64_MAX 84 85 #define WINT_MIN 0U 86 #define WINT_MAX UINT32_MAX 87 88 #if L'\0'-1 > 0 89 #define WCHAR_MAX (0xffffffffu+L'\0') 90 #define WCHAR_MIN (0+L'\0') 91 #else 92 #define WCHAR_MAX (0x7fffffff+L'\0') 93 #define WCHAR_MIN (-1-0x7fffffff+L'\0') 94 #endif 95 96 #define SIG_ATOMIC_MIN INT32_MIN 97 #define SIG_ATOMIC_MAX INT32_MAX 98 99 #include <bits/stdint.h> 100 101 #define INT8_C(c) c 102 #define INT16_C(c) c 103 #define INT32_C(c) c 104 105 #define UINT8_C(c) c 106 #define UINT16_C(c) c 107 #define UINT32_C(c) c ## U 108 109 #if UINTPTR_MAX == UINT64_MAX 110 #define INT64_C(c) c ## L 111 #define UINT64_C(c) c ## UL 112 #define INTMAX_C(c) c ## L 113 #define UINTMAX_C(c) c ## UL 114 #else 115 #define INT64_C(c) c ## LL 116 #define UINT64_C(c) c ## ULL 117 #define INTMAX_C(c) c ## LL 118 #define UINTMAX_C(c) c ## ULL 119 #endif 120 121 #endif /* __ICCARM__ */ 122 #endif 123