1 include(__link__.m4) 2 3 #ifndef __STDINT_H__ 4 #define __STDINT_H__ 5 6 typedef signed char int8_t; 7 typedef signed int int16_t; 8 typedef signed long int32_t; 9 10 typedef unsigned char uint8_t; 11 typedef unsigned int uint16_t; 12 typedef unsigned long uint32_t; 13 14 typedef signed char int_least8_t; 15 typedef signed int int_least16_t; 16 typedef signed long int_least32_t; 17 18 typedef unsigned char uint_least8_t; 19 typedef unsigned int uint_least16_t; 20 typedef unsigned long uint_least32_t; 21 22 typedef signed int int_fast8_t; 23 typedef signed int int_fast16_t; 24 typedef signed long int_fast32_t; 25 26 typedef unsigned int uint_fast8_t; 27 typedef unsigned int uint_fast16_t; 28 typedef unsigned long uint_fast32_t; 29 30 #ifdef __CLANG 31 32 typedef long long int64_t; 33 typedef unsigned long long uint64_t; 34 35 typedef long long int_least64_t; 36 typedef unsigned long long uint_least64_t; 37 38 typedef long long int_fast64_t; 39 typedef unsigned long long uint_fast64_t; 40 41 #endif 42 43 #ifdef __SDCC 44 45 typedef long long int64_t; 46 typedef unsigned long long uint64_t; 47 48 typedef long long int_least64_t; 49 typedef unsigned long long uint_least64_t; 50 51 typedef long long int_fast64_t; 52 typedef unsigned long long uint_fast64_t; 53 54 #endif 55 56 #ifndef _INTPTR_T_DEFINED 57 #define _INTPTR_T_DEFINED 58 typedef int intptr_t; 59 #endif 60 61 typedef unsigned int uintptr_t; 62 63 #ifdef __CLANG 64 65 typedef long long intmax_t; 66 typedef unsigned long long uintmax_t; 67 68 #endif 69 70 #ifdef __SDCC 71 72 typedef long long intmax_t; 73 typedef unsigned long long uintmax_t; 74 75 #endif 76 77 #ifdef __SCCZ80 78 79 typedef long intmax_t; 80 typedef unsigned long uintmax_t; 81 82 #endif 83 84 #define INT8_MIN -128 85 #define INT16_MIN -32768 86 #define INT32_MIN -2147483648L 87 88 #define INT8_MAX 127 89 #define INT16_MAX 32767 90 #define INT32_MAX 2147483647L 91 92 #define UINT8_MAX 255U 93 #define UINT16_MAX 65535U 94 #define UINT32_MAX 4294967295UL 95 96 #ifdef __CLANG 97 98 #define INT64_MIN -9223372036854775808LL 99 #define INT64_MAX 9223372036854775807LL 100 #define UINT64_MAX 18446744073709551615ULL 101 102 #endif 103 104 #ifdef __SDCC 105 106 #define INT64_MIN -9223372036854775808LL 107 #define INT64_MAX 9223372036854775807LL 108 #define UINT64_MAX 18446744073709551615ULL 109 110 #endif 111 112 #define INT_LEAST8_MIN -128 113 #define INT_LEAST16_MIN -32768 114 #define INT_LEAST32_MIN -2147483648L 115 116 #define INT_LEAST8_MAX 127 117 #define INT_LEAST16_MAX 32767 118 #define INT_LEAST32_MAX 2147483647L 119 120 #define UINT_LEAST8_MAX 255U 121 #define UINT_LEAST16_MAX 65535U 122 #define UINT_LEAST32_MAX 4294967295UL 123 124 #ifdef __CLANG 125 126 #define INT_LEAST64_MIN -9223372036854775808LL 127 #define INT_LEAST64_MAX 9223372036854775807LL 128 #define UINT_LEAST64_MAX 18446744073709551615ULL 129 130 #endif 131 132 #ifdef __SDCC 133 134 #define INT_LEAST64_MIN -9223372036854775808LL 135 #define INT_LEAST64_MAX 9223372036854775807LL 136 #define UINT_LEAST64_MAX 18446744073709551615ULL 137 138 #endif 139 140 #define INT_FAST8_MIN -32768 141 #define INT_FAST16_MIN -32768 142 #define INT_FAST32_MIN -2147483648L 143 144 #define INT_FAST8_MAX 32767 145 #define INT_FAST16_MAX 32767 146 #define INT_FAST32_MAX 2147483647L 147 148 #define UINT_FAST8_MAX 65535U 149 #define UINT_FAST16_MAX 65535U 150 #define UINT_FAST32_MAX 4294967295UL 151 152 #ifdef __CLANG 153 154 #define INT_FAST64_MIN -9223372036854775808LL 155 #define INT_FAST64_MAX 9223372036854775807LL 156 #define UINT_FAST64_MAX 18446744073709551615ULL 157 158 #endif 159 160 #ifdef __SDCC 161 162 #define INT_FAST64_MIN -9223372036854775808LL 163 #define INT_FAST64_MAX 9223372036854775807LL 164 #define UINT_FAST64_MAX 18446744073709551615ULL 165 166 #endif 167 168 #define INTPTR_MIN -32768 169 #define INTPTR_MAX 32767 170 #define UINTPTR_MAX 65535U 171 172 #ifdef __CLANG 173 174 #define INTMAX_MIN -9223372036854775808LL 175 #define INTMAX_MAX 9223372036854775807LL 176 #define UINTMAX_MAX 18446744073709551615ULL 177 178 #endif 179 180 #ifdef __SDCC 181 182 #define INTMAX_MIN -9223372036854775808LL 183 #define INTMAX_MAX 9223372036854775807LL 184 #define UINTMAX_MAX 18446744073709551615ULL 185 186 #endif 187 188 #ifdef __SCCZ80 189 190 #define INTMAX_MIN -2147483648L 191 #define INTMAX_MAX 2147483647L 192 #define UINTMAX_MAX 4294967295UL 193 194 #endif 195 196 #define PTRDIFF_MIN -32768 197 #define PTRDIFF_MAX 32767 198 199 // SIG_ATOMIC_MIN 200 // SIG_ATOMIC_MAX 201 202 #define SIZE_MAX 65535U 203 204 #define WCHAR_MIN 0 205 #define WCHAR_MAX 255U 206 207 // WINT_MIN 208 // WINT_MAX 209 210 #define INT8_C(value) (value) 211 #define INT16_C(value) (value) 212 #define INT32_C(value) (value##L) 213 214 #define UINT8_C(value) (value##U) 215 #define UINT16_C(value) (value##U) 216 #define UINT32_C(value) (value##UL) 217 218 #ifdef __CLANG 219 220 #define INT64_C(value) (value##LL) 221 #define UINT64_C(value) (value##ULL) 222 223 #endif 224 225 #ifdef __SDCC 226 227 #define INT64_C(value) (value##LL) 228 #define UINT64_C(value) (value##ULL) 229 230 #endif 231 232 #ifdef __CLANG 233 234 #define INTMAX_C(value) (value##LL) 235 #define UINTMAX_C(value) (value##ULL) 236 237 #endif 238 239 #ifdef __SDCC 240 241 #define INTMAX_C(value) (value##LL) 242 #define UINTMAX_C(value) (value##ULL) 243 244 #endif 245 246 #ifdef __SCCZ80 247 248 #define INTMAX_C(value) (value##L) 249 #define UINTMAX_C(value) (value##UL) 250 251 #endif 252 253 #endif 254