1 /* 2 * stdint.h - integer types 3 * 4 * $Id: stdint.h,v 1.2 2016-04-25 10:19:17 dom Exp $ 5 */ 6 7 #ifndef _STDINT_H 8 #define _STDINT_H 9 10 #include <sys/compiler.h> 11 #include <sys/types.h> 12 13 typedef signed char int8_t; 14 typedef signed int int16_t; 15 typedef signed long int32_t; 16 17 typedef unsigned char uint8_t; 18 typedef unsigned int uint16_t; 19 typedef unsigned long uint32_t; 20 21 typedef signed char int_least8_t; 22 typedef signed int int_least16_t; 23 typedef signed long int_least32_t; 24 25 typedef unsigned char uint_least8_t; 26 typedef unsigned int uint_least16_t; 27 typedef unsigned long uint_least32_t; 28 29 typedef signed int int_fast8_t; 30 typedef signed int int_fast16_t; 31 typedef signed long int_fast32_t; 32 33 typedef unsigned int uint_fast8_t; 34 typedef unsigned int uint_fast16_t; 35 typedef unsigned long uint_fast32_t; 36 37 typedef long long int64_t; 38 typedef unsigned long long uint64_t; 39 40 typedef long long int_least64_t; 41 typedef unsigned long long uint_least64_t; 42 43 typedef long long int_fast64_t; 44 typedef unsigned long long uint_fast64_t; 45 46 47 #ifndef _INTPTR_T_DEFINED 48 #define _INTPTR_T_DEFINED 49 typedef int intptr_t; 50 #endif 51 52 typedef unsigned int uintptr_t; 53 54 typedef long intmax_t; 55 typedef unsigned long uintmax_t; 56 57 #define INT8_MIN -128 58 #define INT16_MIN -32768 59 #define INT32_MIN -2147483648L 60 61 #define INT8_MAX 127 62 #define INT16_MAX 32767 63 #define INT32_MAX 2147483647L 64 65 #define UINT8_MAX 255U 66 #define UINT16_MAX 65535U 67 #define UINT32_MAX 4294967295UL 68 69 #define INT_LEAST8_MIN -128 70 #define INT_LEAST16_MIN -32768 71 #define INT_LEAST32_MIN -2147483648L 72 73 #define INT_LEAST8_MAX 127 74 #define INT_LEAST16_MAX 32767 75 #define INT_LEAST32_MAX 2147483647L 76 77 #define UINT_LEAST8_MAX 255U 78 #define UINT_LEAST16_MAX 65535U 79 #define UINT_LEAST32_MAX 4294967295UL 80 81 #define INT_FAST8_MIN -32768 82 #define INT_FAST16_MIN -32768 83 #define INT_FAST32_MIN -2147483648L 84 85 #define INT_FAST8_MAX 32767 86 #define INT_FAST16_MAX 32767 87 #define INT_FAST32_MAX 2147483647L 88 89 #define UINT_FAST8_MAX 65535U 90 #define UINT_FAST16_MAX 65535U 91 #define UINT_FAST32_MAX 4294967295UL 92 93 #define INTPTR_MIN -32768 94 #define INTPTR_MAX 32767 95 96 #define UINTPTR_MAX 65535U 97 98 #define INTMAX_MIN -2147483648L 99 #define INTMAX_MAX 2147483647L 100 101 #define UINTMAX_MAX 4294967295UL 102 103 #define PTRDIFF_MIN -32768 104 #define PTRDIFF_MAX 32767 105 106 // SIG_ATOMIC_MIN 107 // SIG_ATOMIC_MAX 108 109 #define SIZE_MAX 65535U 110 111 #define WCHAR_MIN 0 112 #define WCHAR_MAX 255U 113 114 // WINT_MIN 115 // WINT_MAX 116 117 #define INT8_C(value) value 118 #define INT16_C(value) value 119 #define INT32_C(value) value##L 120 121 #define UINT8_C(value) value##U 122 #define UINT16_C(value) value##U 123 #define UINT32_C(value) value##UL 124 125 #define INTMAX_C(value) value##L 126 #define UINTMAX_C(value) value##UL 127 128 #endif 129 130 131