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