1*9a0e4156SSadaf Ebrahimi 2*9a0e4156SSadaf Ebrahimi #if defined(_MSC_VER) && defined(_WIN32_WCE) && (_WIN32_WCE < 0x800) && !defined(_STDINT_H_) && !defined(_STDINT) 3*9a0e4156SSadaf Ebrahimi #define _STDINT 4*9a0e4156SSadaf Ebrahimi 5*9a0e4156SSadaf Ebrahimi typedef __int8 6*9a0e4156SSadaf Ebrahimi int8_t, 7*9a0e4156SSadaf Ebrahimi int_least8_t; 8*9a0e4156SSadaf Ebrahimi 9*9a0e4156SSadaf Ebrahimi typedef __int16 10*9a0e4156SSadaf Ebrahimi int16_t, 11*9a0e4156SSadaf Ebrahimi int_least16_t; 12*9a0e4156SSadaf Ebrahimi 13*9a0e4156SSadaf Ebrahimi typedef __int32 14*9a0e4156SSadaf Ebrahimi int32_t, 15*9a0e4156SSadaf Ebrahimi int_least32_t, 16*9a0e4156SSadaf Ebrahimi int_fast8_t, 17*9a0e4156SSadaf Ebrahimi int_fast16_t, 18*9a0e4156SSadaf Ebrahimi int_fast32_t; 19*9a0e4156SSadaf Ebrahimi 20*9a0e4156SSadaf Ebrahimi typedef __int64 21*9a0e4156SSadaf Ebrahimi int64_t, 22*9a0e4156SSadaf Ebrahimi intmax_t, 23*9a0e4156SSadaf Ebrahimi int_least64_t, 24*9a0e4156SSadaf Ebrahimi int_fast64_t; 25*9a0e4156SSadaf Ebrahimi 26*9a0e4156SSadaf Ebrahimi typedef unsigned __int8 27*9a0e4156SSadaf Ebrahimi uint8_t, 28*9a0e4156SSadaf Ebrahimi uint_least8_t; 29*9a0e4156SSadaf Ebrahimi 30*9a0e4156SSadaf Ebrahimi typedef unsigned __int16 31*9a0e4156SSadaf Ebrahimi uint16_t, 32*9a0e4156SSadaf Ebrahimi uint_least16_t; 33*9a0e4156SSadaf Ebrahimi 34*9a0e4156SSadaf Ebrahimi typedef unsigned __int32 35*9a0e4156SSadaf Ebrahimi uint32_t, 36*9a0e4156SSadaf Ebrahimi uint_least32_t, 37*9a0e4156SSadaf Ebrahimi uint_fast8_t, 38*9a0e4156SSadaf Ebrahimi uint_fast16_t, 39*9a0e4156SSadaf Ebrahimi uint_fast32_t; 40*9a0e4156SSadaf Ebrahimi 41*9a0e4156SSadaf Ebrahimi typedef unsigned __int64 42*9a0e4156SSadaf Ebrahimi uint64_t, 43*9a0e4156SSadaf Ebrahimi uintmax_t, 44*9a0e4156SSadaf Ebrahimi uint_least64_t, 45*9a0e4156SSadaf Ebrahimi uint_fast64_t; 46*9a0e4156SSadaf Ebrahimi 47*9a0e4156SSadaf Ebrahimi #ifndef _INTPTR_T_DEFINED 48*9a0e4156SSadaf Ebrahimi #define _INTPTR_T_DEFINED 49*9a0e4156SSadaf Ebrahimi typedef __int32 intptr_t; 50*9a0e4156SSadaf Ebrahimi #endif 51*9a0e4156SSadaf Ebrahimi 52*9a0e4156SSadaf Ebrahimi #ifndef _UINTPTR_T_DEFINED 53*9a0e4156SSadaf Ebrahimi #define _UINTPTR_T_DEFINED 54*9a0e4156SSadaf Ebrahimi typedef unsigned __int32 uintptr_t; 55*9a0e4156SSadaf Ebrahimi #endif 56*9a0e4156SSadaf Ebrahimi 57*9a0e4156SSadaf Ebrahimi #define INT8_MIN (-127i8 - 1) 58*9a0e4156SSadaf Ebrahimi #define INT16_MIN (-32767i16 - 1) 59*9a0e4156SSadaf Ebrahimi #define INT32_MIN (-2147483647i32 - 1) 60*9a0e4156SSadaf Ebrahimi #define INT64_MIN (-9223372036854775807i64 - 1) 61*9a0e4156SSadaf Ebrahimi #define INT8_MAX 127i8 62*9a0e4156SSadaf Ebrahimi #define INT16_MAX 32767i16 63*9a0e4156SSadaf Ebrahimi #define INT32_MAX 2147483647i32 64*9a0e4156SSadaf Ebrahimi #define INT64_MAX 9223372036854775807i64 65*9a0e4156SSadaf Ebrahimi #define UINT8_MAX 0xffui8 66*9a0e4156SSadaf Ebrahimi #define UINT16_MAX 0xffffui16 67*9a0e4156SSadaf Ebrahimi #define UINT32_MAX 0xffffffffui32 68*9a0e4156SSadaf Ebrahimi #define UINT64_MAX 0xffffffffffffffffui64 69*9a0e4156SSadaf Ebrahimi 70*9a0e4156SSadaf Ebrahimi #define INT_LEAST8_MIN INT8_MIN 71*9a0e4156SSadaf Ebrahimi #define INT_LEAST16_MIN INT16_MIN 72*9a0e4156SSadaf Ebrahimi #define INT_LEAST32_MIN INT32_MIN 73*9a0e4156SSadaf Ebrahimi #define INT_LEAST64_MIN INT64_MIN 74*9a0e4156SSadaf Ebrahimi #define INT_LEAST8_MAX INT8_MAX 75*9a0e4156SSadaf Ebrahimi #define INT_LEAST16_MAX INT16_MAX 76*9a0e4156SSadaf Ebrahimi #define INT_LEAST32_MAX INT32_MAX 77*9a0e4156SSadaf Ebrahimi #define INT_LEAST64_MAX INT64_MAX 78*9a0e4156SSadaf Ebrahimi #define UINT_LEAST8_MAX UINT8_MAX 79*9a0e4156SSadaf Ebrahimi #define UINT_LEAST16_MAX UINT16_MAX 80*9a0e4156SSadaf Ebrahimi #define UINT_LEAST32_MAX UINT32_MAX 81*9a0e4156SSadaf Ebrahimi #define UINT_LEAST64_MAX UINT64_MAX 82*9a0e4156SSadaf Ebrahimi 83*9a0e4156SSadaf Ebrahimi #define INT_FAST8_MIN INT8_MIN 84*9a0e4156SSadaf Ebrahimi #define INT_FAST16_MIN INT32_MIN 85*9a0e4156SSadaf Ebrahimi #define INT_FAST32_MIN INT32_MIN 86*9a0e4156SSadaf Ebrahimi #define INT_FAST64_MIN INT64_MIN 87*9a0e4156SSadaf Ebrahimi #define INT_FAST8_MAX INT8_MAX 88*9a0e4156SSadaf Ebrahimi #define INT_FAST16_MAX INT32_MAX 89*9a0e4156SSadaf Ebrahimi #define INT_FAST32_MAX INT32_MAX 90*9a0e4156SSadaf Ebrahimi #define INT_FAST64_MAX INT64_MAX 91*9a0e4156SSadaf Ebrahimi #define UINT_FAST8_MAX UINT8_MAX 92*9a0e4156SSadaf Ebrahimi #define UINT_FAST16_MAX UINT32_MAX 93*9a0e4156SSadaf Ebrahimi #define UINT_FAST32_MAX UINT32_MAX 94*9a0e4156SSadaf Ebrahimi #define UINT_FAST64_MAX UINT64_MAX 95*9a0e4156SSadaf Ebrahimi 96*9a0e4156SSadaf Ebrahimi #define INTPTR_MIN INT32_MIN 97*9a0e4156SSadaf Ebrahimi #define INTPTR_MAX INT32_MAX 98*9a0e4156SSadaf Ebrahimi #define UINTPTR_MAX UINT32_MAX 99*9a0e4156SSadaf Ebrahimi 100*9a0e4156SSadaf Ebrahimi #define INTMAX_MIN INT64_MIN 101*9a0e4156SSadaf Ebrahimi #define INTMAX_MAX INT64_MAX 102*9a0e4156SSadaf Ebrahimi #define UINTMAX_MAX UINT64_MAX 103*9a0e4156SSadaf Ebrahimi 104*9a0e4156SSadaf Ebrahimi #define PTRDIFF_MIN INTPTR_MIN 105*9a0e4156SSadaf Ebrahimi #define PTRDIFF_MAX INTPTR_MAX 106*9a0e4156SSadaf Ebrahimi 107*9a0e4156SSadaf Ebrahimi #ifndef SIZE_MAX 108*9a0e4156SSadaf Ebrahimi #define SIZE_MAX UINTPTR_MAX 109*9a0e4156SSadaf Ebrahimi #endif 110*9a0e4156SSadaf Ebrahimi 111*9a0e4156SSadaf Ebrahimi #define SIG_ATOMIC_MIN INT32_MIN 112*9a0e4156SSadaf Ebrahimi #define SIG_ATOMIC_MAX INT32_MAX 113*9a0e4156SSadaf Ebrahimi 114*9a0e4156SSadaf Ebrahimi #define WCHAR_MIN 0x0000 115*9a0e4156SSadaf Ebrahimi #define WCHAR_MAX 0xffff 116*9a0e4156SSadaf Ebrahimi 117*9a0e4156SSadaf Ebrahimi #define WINT_MIN 0x0000 118*9a0e4156SSadaf Ebrahimi #define WINT_MAX 0xffff 119*9a0e4156SSadaf Ebrahimi 120*9a0e4156SSadaf Ebrahimi #define INT8_C(x) (x) 121*9a0e4156SSadaf Ebrahimi #define INT16_C(x) (x) 122*9a0e4156SSadaf Ebrahimi #define INT32_C(x) (x) 123*9a0e4156SSadaf Ebrahimi #define INT64_C(x) (x ## LL) 124*9a0e4156SSadaf Ebrahimi 125*9a0e4156SSadaf Ebrahimi #define UINT8_C(x) (x) 126*9a0e4156SSadaf Ebrahimi #define UINT16_C(x) (x) 127*9a0e4156SSadaf Ebrahimi #define UINT32_C(x) (x ## U) 128*9a0e4156SSadaf Ebrahimi #define UINT64_C(x) (x ## ULL) 129*9a0e4156SSadaf Ebrahimi 130*9a0e4156SSadaf Ebrahimi #define INTMAX_C(x) INT64_C(x) 131*9a0e4156SSadaf Ebrahimi #define UINTMAX_C(x) UINT64_C(x) 132*9a0e4156SSadaf Ebrahimi 133*9a0e4156SSadaf Ebrahimi #endif 134