1 /* 2 * stdint.h 3 */ 4 5 #ifndef _STDINT_H 6 #define _STDINT_H 7 8 #include <bitsize/stdint.h> 9 10 typedef int8_t int_least8_t; 11 typedef int16_t int_least16_t; 12 typedef int32_t int_least32_t; 13 typedef int64_t int_least64_t; 14 15 typedef uint8_t uint_least8_t; 16 typedef uint16_t uint_least16_t; 17 typedef uint32_t uint_least32_t; 18 typedef uint64_t uint_least64_t; 19 20 typedef int8_t int_fast8_t; 21 typedef int64_t int_fast64_t; 22 23 typedef uint8_t uint_fast8_t; 24 typedef uint64_t uint_fast64_t; 25 26 typedef int64_t intmax_t; 27 typedef uint64_t uintmax_t; 28 29 #if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) 30 31 #define INT8_MIN (-128) 32 #define INT16_MIN (-32768) 33 #define INT32_MIN (-2147483647-1) 34 #define INT64_MIN (__INT64_C(-9223372036854775807)-1) 35 36 #define INT8_MAX (127) 37 #define INT16_MAX (32767) 38 #define INT32_MAX (2147483647) 39 #define INT64_MAX (__INT64_C(9223372036854775807)) 40 41 #define UINT8_MAX (255U) 42 #define UINT16_MAX (65535U) 43 #define UINT32_MAX (4294967295U) 44 #define UINT64_MAX (__UINT64_C(18446744073709551615)) 45 46 #define INT_LEAST8_MIN INT8_MIN 47 #define INT_LEAST16_MIN INT16_MIN 48 #define INT_LEAST32_MIN INT32_MIN 49 #define INT_LEAST64_MIN INT64_MIN 50 51 #define INT_LEAST8_MAX INT8_MAX 52 #define INT_LEAST16_MAX INT16_MAX 53 #define INT_LEAST32_MAX INT32_MAX 54 #define INT_LEAST64_MAX INT64_MAX 55 56 #define UINT_LEAST8_MAX UINT8_MAX 57 #define UINT_LEAST16_MAX UINT16_MAX 58 #define UINT_LEAST32_MAX UINT32_MAX 59 #define UINT_LEAST64_MAX UINT64_MAX 60 61 #define INT_FAST8_MIN INT8_MIN 62 #define INT_FAST64_MIN INT64_MIN 63 64 #define INT_FAST8_MAX INT8_MAX 65 #define INT_FAST64_MAX INT64_MAX 66 67 #define UINT_FAST8_MAX UINT8_MAX 68 #define UINT_FAST64_MAX UINT64_MAX 69 70 #define INTMAX_MIN INT64_MIN 71 #define INTMAX_MAX INT64_MAX 72 #define UINTMAX_MAX UINT64_MAX 73 74 #include <bitsize/stdintlimits.h> 75 76 #endif 77 78 #if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) 79 80 #define INT8_C(c) c 81 #define INT16_C(c) c 82 #define INT32_C(c) c 83 #define INT64_C(c) __INT64_C(c) 84 85 #define UINT8_C(c) c ## U 86 #define UINT16_C(c) c ## U 87 #define UINT32_C(c) c ## U 88 #define UINT64_C(c) __UINT64_C(c) 89 90 #define INT_LEAST8_C(c) INT8_C(c) 91 #define INT_LEAST16_C(c) INT16_C(c) 92 #define INT_LEAST32_C(c) INT32_C(c) 93 #define INT_LEAST64_C(c) INT64_C(c) 94 95 #define UINT_LEAST8_C(c) UINT8_C(c) 96 #define UINT_LEAST16_C(c) UINT16_C(c) 97 #define UINT_LEAST32_C(c) UINT32_C(c) 98 #define UINT_LEAST64_C(c) UINT64_C(c) 99 100 #define INT_FAST8_C(c) INT8_C(c) 101 #define INT_FAST64_C(c) INT64_C(c) 102 103 #define UINT_FAST8_C(c) UINT8_C(c) 104 #define UINT_FAST64_C(c) UINT64_C(c) 105 106 #define INTMAX_C(c) INT64_C(c) 107 #define UINTMAX_C(c) UINT64_C(c) 108 109 #include <bitsize/stdintconst.h> 110 111 #endif 112 113 /* Keep the kernel from trying to define these types... */ 114 #define __BIT_TYPES_DEFINED__ 115 116 #endif /* _STDINT_H */ 117