forkd

Dependencies:   mbed

Fork of LG2 by Dmitry Kovalev

Committer:
Kovalev_D
Date:
Wed Feb 03 10:44:42 2016 +0300
Revision:
23:12e6183f04d4
[thyz

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Kovalev_D 23:12e6183f04d4 1 /* Copyright (C) ARM Ltd., 1999 */
Kovalev_D 23:12e6183f04d4 2 /* All rights reserved */
Kovalev_D 23:12e6183f04d4 3
Kovalev_D 23:12e6183f04d4 4 /*
Kovalev_D 23:12e6183f04d4 5 * RCS $Revision: 137748 $
Kovalev_D 23:12e6183f04d4 6 * Checkin $Date: 2008-09-11 17:34:24 +0100 (Thu, 11 Sep 2008) $
Kovalev_D 23:12e6183f04d4 7 * Revising $Author: agrant $
Kovalev_D 23:12e6183f04d4 8 */
Kovalev_D 23:12e6183f04d4 9
Kovalev_D 23:12e6183f04d4 10 #ifndef __stdint_h
Kovalev_D 23:12e6183f04d4 11 #define __stdint_h
Kovalev_D 23:12e6183f04d4 12
Kovalev_D 23:12e6183f04d4 13 #ifndef __STDINT_DECLS
Kovalev_D 23:12e6183f04d4 14 #define __STDINT_DECLS
Kovalev_D 23:12e6183f04d4 15
Kovalev_D 23:12e6183f04d4 16 #undef __CLIBNS
Kovalev_D 23:12e6183f04d4 17
Kovalev_D 23:12e6183f04d4 18 #ifdef __cplusplus
Kovalev_D 23:12e6183f04d4 19 namespace std {
Kovalev_D 23:12e6183f04d4 20 #define __CLIBNS std::
Kovalev_D 23:12e6183f04d4 21 extern "C" {
Kovalev_D 23:12e6183f04d4 22 #else
Kovalev_D 23:12e6183f04d4 23 #define __CLIBNS
Kovalev_D 23:12e6183f04d4 24 #endif /* __cplusplus */
Kovalev_D 23:12e6183f04d4 25
Kovalev_D 23:12e6183f04d4 26
Kovalev_D 23:12e6183f04d4 27 /*
Kovalev_D 23:12e6183f04d4 28 * 'signed' is redundant below, except for 'signed char' and if
Kovalev_D 23:12e6183f04d4 29 * the typedef is used to declare a bitfield.
Kovalev_D 23:12e6183f04d4 30 * '__int64' is used instead of 'long long' so that this header
Kovalev_D 23:12e6183f04d4 31 * can be used in --strict mode.
Kovalev_D 23:12e6183f04d4 32 */
Kovalev_D 23:12e6183f04d4 33
Kovalev_D 23:12e6183f04d4 34 /* 7.18.1.1 */
Kovalev_D 23:12e6183f04d4 35
Kovalev_D 23:12e6183f04d4 36 /* exact-width signed integer types */
Kovalev_D 23:12e6183f04d4 37 typedef signed char int8_t;
Kovalev_D 23:12e6183f04d4 38 typedef signed short int int16_t;
Kovalev_D 23:12e6183f04d4 39 typedef signed int int32_t;
Kovalev_D 23:12e6183f04d4 40 typedef signed __int64 int64_t;
Kovalev_D 23:12e6183f04d4 41
Kovalev_D 23:12e6183f04d4 42 /* exact-width unsigned integer types */
Kovalev_D 23:12e6183f04d4 43 typedef unsigned char uint8_t;
Kovalev_D 23:12e6183f04d4 44 typedef unsigned short int uint16_t;
Kovalev_D 23:12e6183f04d4 45 typedef unsigned int uint32_t;
Kovalev_D 23:12e6183f04d4 46 typedef unsigned __int64 uint64_t;
Kovalev_D 23:12e6183f04d4 47
Kovalev_D 23:12e6183f04d4 48 /* 7.18.1.2 */
Kovalev_D 23:12e6183f04d4 49
Kovalev_D 23:12e6183f04d4 50 /* smallest type of at least n bits */
Kovalev_D 23:12e6183f04d4 51 /* minimum-width signed integer types */
Kovalev_D 23:12e6183f04d4 52 typedef signed char int_least8_t;
Kovalev_D 23:12e6183f04d4 53 typedef signed short int int_least16_t;
Kovalev_D 23:12e6183f04d4 54 typedef signed int int_least32_t;
Kovalev_D 23:12e6183f04d4 55 typedef signed __int64 int_least64_t;
Kovalev_D 23:12e6183f04d4 56
Kovalev_D 23:12e6183f04d4 57 /* minimum-width unsigned integer types */
Kovalev_D 23:12e6183f04d4 58 typedef unsigned char uint_least8_t;
Kovalev_D 23:12e6183f04d4 59 typedef unsigned short int uint_least16_t;
Kovalev_D 23:12e6183f04d4 60 typedef unsigned int uint_least32_t;
Kovalev_D 23:12e6183f04d4 61 typedef unsigned __int64 uint_least64_t;
Kovalev_D 23:12e6183f04d4 62
Kovalev_D 23:12e6183f04d4 63 /* 7.18.1.3 */
Kovalev_D 23:12e6183f04d4 64
Kovalev_D 23:12e6183f04d4 65 /* fastest minimum-width signed integer types */
Kovalev_D 23:12e6183f04d4 66 typedef signed int int_fast8_t;
Kovalev_D 23:12e6183f04d4 67 typedef signed int int_fast16_t;
Kovalev_D 23:12e6183f04d4 68 typedef signed int int_fast32_t;
Kovalev_D 23:12e6183f04d4 69 typedef signed __int64 int_fast64_t;
Kovalev_D 23:12e6183f04d4 70
Kovalev_D 23:12e6183f04d4 71 /* fastest minimum-width unsigned integer types */
Kovalev_D 23:12e6183f04d4 72 typedef unsigned int uint_fast8_t;
Kovalev_D 23:12e6183f04d4 73 typedef unsigned int uint_fast16_t;
Kovalev_D 23:12e6183f04d4 74 typedef unsigned int uint_fast32_t;
Kovalev_D 23:12e6183f04d4 75 typedef unsigned __int64 uint_fast64_t;
Kovalev_D 23:12e6183f04d4 76
Kovalev_D 23:12e6183f04d4 77 /* 7.18.1.4 integer types capable of holding object pointers */
Kovalev_D 23:12e6183f04d4 78 typedef signed int intptr_t;
Kovalev_D 23:12e6183f04d4 79 typedef unsigned int uintptr_t;
Kovalev_D 23:12e6183f04d4 80
Kovalev_D 23:12e6183f04d4 81 /* 7.18.1.5 greatest-width integer types */
Kovalev_D 23:12e6183f04d4 82 typedef signed __int64 intmax_t;
Kovalev_D 23:12e6183f04d4 83 typedef unsigned __int64 uintmax_t;
Kovalev_D 23:12e6183f04d4 84
Kovalev_D 23:12e6183f04d4 85
Kovalev_D 23:12e6183f04d4 86 #if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS)
Kovalev_D 23:12e6183f04d4 87
Kovalev_D 23:12e6183f04d4 88 /* 7.18.2.1 */
Kovalev_D 23:12e6183f04d4 89
Kovalev_D 23:12e6183f04d4 90 /* minimum values of exact-width signed integer types */
Kovalev_D 23:12e6183f04d4 91 #define INT8_MIN -128
Kovalev_D 23:12e6183f04d4 92 #define INT16_MIN -32768
Kovalev_D 23:12e6183f04d4 93 #define INT32_MIN (~0x7fffffff) /* -2147483648 is unsigned */
Kovalev_D 23:12e6183f04d4 94 #define INT64_MIN __ESCAPE__(~0x7fffffffffffffffll) /* -9223372036854775808 is unsigned */
Kovalev_D 23:12e6183f04d4 95
Kovalev_D 23:12e6183f04d4 96 /* maximum values of exact-width signed integer types */
Kovalev_D 23:12e6183f04d4 97 #define INT8_MAX 127
Kovalev_D 23:12e6183f04d4 98 #define INT16_MAX 32767
Kovalev_D 23:12e6183f04d4 99 #define INT32_MAX 2147483647
Kovalev_D 23:12e6183f04d4 100 #define INT64_MAX __ESCAPE__(9223372036854775807ll)
Kovalev_D 23:12e6183f04d4 101
Kovalev_D 23:12e6183f04d4 102 /* maximum values of exact-width unsigned integer types */
Kovalev_D 23:12e6183f04d4 103 #define UINT8_MAX 255
Kovalev_D 23:12e6183f04d4 104 #define UINT16_MAX 65535
Kovalev_D 23:12e6183f04d4 105 #define UINT32_MAX 4294967295u
Kovalev_D 23:12e6183f04d4 106 #define UINT64_MAX __ESCAPE__(18446744073709551615ull)
Kovalev_D 23:12e6183f04d4 107
Kovalev_D 23:12e6183f04d4 108 /* 7.18.2.2 */
Kovalev_D 23:12e6183f04d4 109
Kovalev_D 23:12e6183f04d4 110 /* minimum values of minimum-width signed integer types */
Kovalev_D 23:12e6183f04d4 111 #define INT_LEAST8_MIN -128
Kovalev_D 23:12e6183f04d4 112 #define INT_LEAST16_MIN -32768
Kovalev_D 23:12e6183f04d4 113 #define INT_LEAST32_MIN (~0x7fffffff)
Kovalev_D 23:12e6183f04d4 114 #define INT_LEAST64_MIN __ESCAPE__(~0x7fffffffffffffffll)
Kovalev_D 23:12e6183f04d4 115
Kovalev_D 23:12e6183f04d4 116 /* maximum values of minimum-width signed integer types */
Kovalev_D 23:12e6183f04d4 117 #define INT_LEAST8_MAX 127
Kovalev_D 23:12e6183f04d4 118 #define INT_LEAST16_MAX 32767
Kovalev_D 23:12e6183f04d4 119 #define INT_LEAST32_MAX 2147483647
Kovalev_D 23:12e6183f04d4 120 #define INT_LEAST64_MAX __ESCAPE__(9223372036854775807ll)
Kovalev_D 23:12e6183f04d4 121
Kovalev_D 23:12e6183f04d4 122 /* maximum values of minimum-width unsigned integer types */
Kovalev_D 23:12e6183f04d4 123 #define UINT_LEAST8_MAX 255
Kovalev_D 23:12e6183f04d4 124 #define UINT_LEAST16_MAX 65535
Kovalev_D 23:12e6183f04d4 125 #define UINT_LEAST32_MAX 4294967295u
Kovalev_D 23:12e6183f04d4 126 #define UINT_LEAST64_MAX __ESCAPE__(18446744073709551615ull)
Kovalev_D 23:12e6183f04d4 127
Kovalev_D 23:12e6183f04d4 128 /* 7.18.2.3 */
Kovalev_D 23:12e6183f04d4 129
Kovalev_D 23:12e6183f04d4 130 /* minimum values of fastest minimum-width signed integer types */
Kovalev_D 23:12e6183f04d4 131 #define INT_FAST8_MIN (~0x7fffffff)
Kovalev_D 23:12e6183f04d4 132 #define INT_FAST16_MIN (~0x7fffffff)
Kovalev_D 23:12e6183f04d4 133 #define INT_FAST32_MIN (~0x7fffffff)
Kovalev_D 23:12e6183f04d4 134 #define INT_FAST64_MIN __ESCAPE__(~0x7fffffffffffffffll)
Kovalev_D 23:12e6183f04d4 135
Kovalev_D 23:12e6183f04d4 136 /* maximum values of fastest minimum-width signed integer types */
Kovalev_D 23:12e6183f04d4 137 #define INT_FAST8_MAX 2147483647
Kovalev_D 23:12e6183f04d4 138 #define INT_FAST16_MAX 2147483647
Kovalev_D 23:12e6183f04d4 139 #define INT_FAST32_MAX 2147483647
Kovalev_D 23:12e6183f04d4 140 #define INT_FAST64_MAX __ESCAPE__(9223372036854775807ll)
Kovalev_D 23:12e6183f04d4 141
Kovalev_D 23:12e6183f04d4 142 /* maximum values of fastest minimum-width unsigned integer types */
Kovalev_D 23:12e6183f04d4 143 #define UINT_FAST8_MAX 4294967295u
Kovalev_D 23:12e6183f04d4 144 #define UINT_FAST16_MAX 4294967295u
Kovalev_D 23:12e6183f04d4 145 #define UINT_FAST32_MAX 4294967295u
Kovalev_D 23:12e6183f04d4 146 #define UINT_FAST64_MAX __ESCAPE__(18446744073709551615ull)
Kovalev_D 23:12e6183f04d4 147
Kovalev_D 23:12e6183f04d4 148 /* 7.18.2.4 */
Kovalev_D 23:12e6183f04d4 149
Kovalev_D 23:12e6183f04d4 150 /* minimum value of pointer-holding signed integer type */
Kovalev_D 23:12e6183f04d4 151 #define INTPTR_MIN (~0x7fffffff)
Kovalev_D 23:12e6183f04d4 152
Kovalev_D 23:12e6183f04d4 153 /* maximum value of pointer-holding signed integer type */
Kovalev_D 23:12e6183f04d4 154 #define INTPTR_MAX 2147483647
Kovalev_D 23:12e6183f04d4 155
Kovalev_D 23:12e6183f04d4 156 /* maximum value of pointer-holding unsigned integer type */
Kovalev_D 23:12e6183f04d4 157 #define UINTPTR_MAX 4294967295u
Kovalev_D 23:12e6183f04d4 158
Kovalev_D 23:12e6183f04d4 159 /* 7.18.2.5 */
Kovalev_D 23:12e6183f04d4 160
Kovalev_D 23:12e6183f04d4 161 /* minimum value of greatest-width signed integer type */
Kovalev_D 23:12e6183f04d4 162 #define INTMAX_MIN __ESCAPE__(~0x7fffffffffffffffll)
Kovalev_D 23:12e6183f04d4 163
Kovalev_D 23:12e6183f04d4 164 /* maximum value of greatest-width signed integer type */
Kovalev_D 23:12e6183f04d4 165 #define INTMAX_MAX __ESCAPE__(9223372036854775807ll)
Kovalev_D 23:12e6183f04d4 166
Kovalev_D 23:12e6183f04d4 167 /* maximum value of greatest-width unsigned integer type */
Kovalev_D 23:12e6183f04d4 168 #define UINTMAX_MAX __ESCAPE__(18446744073709551615ull)
Kovalev_D 23:12e6183f04d4 169
Kovalev_D 23:12e6183f04d4 170 /* 7.18.3 */
Kovalev_D 23:12e6183f04d4 171
Kovalev_D 23:12e6183f04d4 172 /* limits of ptrdiff_t */
Kovalev_D 23:12e6183f04d4 173 #define PTRDIFF_MIN (~0x7fffffff)
Kovalev_D 23:12e6183f04d4 174 #define PTRDIFF_MAX 2147483647
Kovalev_D 23:12e6183f04d4 175
Kovalev_D 23:12e6183f04d4 176 /* limits of sig_atomic_t */
Kovalev_D 23:12e6183f04d4 177 #define SIG_ATOMIC_MIN (~0x7fffffff)
Kovalev_D 23:12e6183f04d4 178 #define SIG_ATOMIC_MAX 2147483647
Kovalev_D 23:12e6183f04d4 179
Kovalev_D 23:12e6183f04d4 180 /* limit of size_t */
Kovalev_D 23:12e6183f04d4 181 #define SIZE_MAX 4294967295u
Kovalev_D 23:12e6183f04d4 182
Kovalev_D 23:12e6183f04d4 183 /* limits of wchar_t */
Kovalev_D 23:12e6183f04d4 184 /* NB we have to undef and redef because they're defined in both
Kovalev_D 23:12e6183f04d4 185 * stdint.h and wchar.h */
Kovalev_D 23:12e6183f04d4 186 #undef WCHAR_MIN
Kovalev_D 23:12e6183f04d4 187 #undef WCHAR_MAX
Kovalev_D 23:12e6183f04d4 188
Kovalev_D 23:12e6183f04d4 189 #if defined(__WCHAR32)
Kovalev_D 23:12e6183f04d4 190 #define WCHAR_MIN 0
Kovalev_D 23:12e6183f04d4 191 #define WCHAR_MAX 0xffffffffU
Kovalev_D 23:12e6183f04d4 192 #else
Kovalev_D 23:12e6183f04d4 193 #define WCHAR_MIN 0
Kovalev_D 23:12e6183f04d4 194 #define WCHAR_MAX 65535
Kovalev_D 23:12e6183f04d4 195 #endif
Kovalev_D 23:12e6183f04d4 196
Kovalev_D 23:12e6183f04d4 197 /* limits of wint_t */
Kovalev_D 23:12e6183f04d4 198 #define WINT_MIN (~0x7fffffff)
Kovalev_D 23:12e6183f04d4 199 #define WINT_MAX 2147483647
Kovalev_D 23:12e6183f04d4 200
Kovalev_D 23:12e6183f04d4 201 #endif /* __STDC_LIMIT_MACROS */
Kovalev_D 23:12e6183f04d4 202
Kovalev_D 23:12e6183f04d4 203 #if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS)
Kovalev_D 23:12e6183f04d4 204
Kovalev_D 23:12e6183f04d4 205 /* 7.18.4.1 macros for minimum-width integer constants */
Kovalev_D 23:12e6183f04d4 206 #define INT8_C(x) (x)
Kovalev_D 23:12e6183f04d4 207 #define INT16_C(x) (x)
Kovalev_D 23:12e6183f04d4 208 #define INT32_C(x) (x)
Kovalev_D 23:12e6183f04d4 209 #define INT64_C(x) __ESCAPE__(x ## ll)
Kovalev_D 23:12e6183f04d4 210
Kovalev_D 23:12e6183f04d4 211 #define UINT8_C(x) (x ## u)
Kovalev_D 23:12e6183f04d4 212 #define UINT16_C(x) (x ## u)
Kovalev_D 23:12e6183f04d4 213 #define UINT32_C(x) (x ## u)
Kovalev_D 23:12e6183f04d4 214 #define UINT64_C(x) __ESCAPE__(x ## ull)
Kovalev_D 23:12e6183f04d4 215
Kovalev_D 23:12e6183f04d4 216 /* 7.18.4.2 macros for greatest-width integer constants */
Kovalev_D 23:12e6183f04d4 217 #define INTMAX_C(x) __ESCAPE__(x ## ll)
Kovalev_D 23:12e6183f04d4 218 #define UINTMAX_C(x) __ESCAPE__(x ## ull)
Kovalev_D 23:12e6183f04d4 219
Kovalev_D 23:12e6183f04d4 220 #endif /* __STDC_CONSTANT_MACROS */
Kovalev_D 23:12e6183f04d4 221
Kovalev_D 23:12e6183f04d4 222 #ifdef __cplusplus
Kovalev_D 23:12e6183f04d4 223 } /* extern "C" */
Kovalev_D 23:12e6183f04d4 224 } /* namespace std */
Kovalev_D 23:12e6183f04d4 225 #endif /* __cplusplus */
Kovalev_D 23:12e6183f04d4 226 #endif /* __STDINT_DECLS */
Kovalev_D 23:12e6183f04d4 227
Kovalev_D 23:12e6183f04d4 228 #ifdef __cplusplus
Kovalev_D 23:12e6183f04d4 229 #ifndef __STDINT_NO_EXPORTS
Kovalev_D 23:12e6183f04d4 230 using ::std::int8_t;
Kovalev_D 23:12e6183f04d4 231 using ::std::int16_t;
Kovalev_D 23:12e6183f04d4 232 using ::std::int32_t;
Kovalev_D 23:12e6183f04d4 233 using ::std::int64_t;
Kovalev_D 23:12e6183f04d4 234 using ::std::uint8_t;
Kovalev_D 23:12e6183f04d4 235 using ::std::uint16_t;
Kovalev_D 23:12e6183f04d4 236 using ::std::uint32_t;
Kovalev_D 23:12e6183f04d4 237 using ::std::uint64_t;
Kovalev_D 23:12e6183f04d4 238 using ::std::int_least8_t;
Kovalev_D 23:12e6183f04d4 239 using ::std::int_least16_t;
Kovalev_D 23:12e6183f04d4 240 using ::std::int_least32_t;
Kovalev_D 23:12e6183f04d4 241 using ::std::int_least64_t;
Kovalev_D 23:12e6183f04d4 242 using ::std::uint_least8_t;
Kovalev_D 23:12e6183f04d4 243 using ::std::uint_least16_t;
Kovalev_D 23:12e6183f04d4 244 using ::std::uint_least32_t;
Kovalev_D 23:12e6183f04d4 245 using ::std::uint_least64_t;
Kovalev_D 23:12e6183f04d4 246 using ::std::int_fast8_t;
Kovalev_D 23:12e6183f04d4 247 using ::std::int_fast16_t;
Kovalev_D 23:12e6183f04d4 248 using ::std::int_fast32_t;
Kovalev_D 23:12e6183f04d4 249 using ::std::int_fast64_t;
Kovalev_D 23:12e6183f04d4 250 using ::std::uint_fast8_t;
Kovalev_D 23:12e6183f04d4 251 using ::std::uint_fast16_t;
Kovalev_D 23:12e6183f04d4 252 using ::std::uint_fast32_t;
Kovalev_D 23:12e6183f04d4 253 using ::std::uint_fast64_t;
Kovalev_D 23:12e6183f04d4 254 using ::std::intptr_t;
Kovalev_D 23:12e6183f04d4 255 using ::std::uintptr_t;
Kovalev_D 23:12e6183f04d4 256 using ::std::intmax_t;
Kovalev_D 23:12e6183f04d4 257 using ::std::uintmax_t;
Kovalev_D 23:12e6183f04d4 258 #endif
Kovalev_D 23:12e6183f04d4 259 #endif /* __cplusplus */
Kovalev_D 23:12e6183f04d4 260
Kovalev_D 23:12e6183f04d4 261 #endif /* __stdint_h */
Kovalev_D 23:12e6183f04d4 262
Kovalev_D 23:12e6183f04d4 263 /* end of stdint.h */
Kovalev_D 23:12e6183f04d4 264
Kovalev_D 23:12e6183f04d4 265