#include <stdint.h>
stdint.h
from ISO/IEC 988:1999 spec
typedefint_least16_t
typedef int16_t int_least16_t
typedefint_least32_t
typedef int32_t int_least32_t
typedefint_least64_t
typedef int64_t int_least64_t
typedefuint_least8_t
typedef uint8_t uint_least8_t
typedefuint_least16_t
typedef uint16_t uint_least16_t
typedefuint_least32_t
typedef uint32_t uint_least32_t
typedefuint_least64_t
typedef uint64_t uint_least64_t
typedefint_fast16_t
typedef int16_t int_fast16_t
typedefint_fast32_t
typedef int32_t int_fast32_t
typedefint_fast64_t
typedef int64_t int_fast64_t
typedefuint_fast8_t
typedef uint8_t uint_fast8_t
typedefuint_fast16_t
typedef uint16_t uint_fast16_t
typedefuint_fast32_t
typedef uint32_t uint_fast32_t
typedefuint_fast64_t
typedef uint64_t uint_fast64_t
macroINT16_C
#define INT16_C(v) (v)
macroINT32_C
#define INT32_C(v) (v)
macroINT64_C
#define INT64_C(v) (v ## LL)
macroUINT8_C
#define UINT8_C(v) (v)
macroUINT16_C
#define UINT16_C(v) (v)
macroUINT32_C
#define UINT32_C(v) (v ## U)
macroUINT64_C
#define UINT64_C(v) (v ## ULL)
macroINTMAX_C
#define INTMAX_C(v) (v ## L)
macroUINTMAX_C
#define UINTMAX_C(v) (v ## UL)
macroINT16_MAX
#define INT16_MAX 32767
macroINT32_MAX
#define INT32_MAX 2147483647
macroINT64_MAX
#define INT64_MAX 9223372036854775807LL
macroINT8_MIN
#define INT8_MIN -128
macroINT16_MIN
#define INT16_MIN -32768
macroINT32_MIN
Note: the literal "most negative int" cannot be written in C --
the rules in the standard (section 6.4.4.1 in C99) will give it
an unsigned type, so INT32_MIN (and the most negative member of
any larger signed type) must be written via a constant expression.
#define INT32_MIN (-INT32_MAX-1)
macroUINT8_MAX
#define UINT8_MAX 255
macroUINT16_MAX
#define UINT16_MAX 65535
macroUINT32_MAX
#define UINT32_MAX 4294967295U
macroUINT64_MAX
#define UINT64_MAX 18446744073709551615ULL
macroINT_LEAST16_MIN
#define INT_LEAST16_MIN INT16_MIN
macroINT_LEAST32_MIN
#define INT_LEAST32_MIN INT32_MIN
macroINT_LEAST64_MIN
#define INT_LEAST64_MIN INT64_MIN
macroINT_LEAST8_MAX
#define INT_LEAST8_MAX INT8_MAX
macroINT_LEAST16_MAX
#define INT_LEAST16_MAX INT16_MAX
macroINT_LEAST32_MAX
#define INT_LEAST32_MAX INT32_MAX
macroINT_LEAST64_MAX
#define INT_LEAST64_MAX INT64_MAX
macroUINT_LEAST8_MAX
#define UINT_LEAST8_MAX UINT8_MAX
macroUINT_LEAST16_MAX
#define UINT_LEAST16_MAX UINT16_MAX
macroUINT_LEAST32_MAX
#define UINT_LEAST32_MAX UINT32_MAX
macroUINT_LEAST64_MAX
#define UINT_LEAST64_MAX UINT64_MAX
macroINT_FAST8_MIN
7.18.2.3 Limits of fastest minimum-width integer types
#define INT_FAST8_MIN INT8_MIN
macroINT_FAST16_MIN
#define INT_FAST16_MIN INT16_MIN
macroINT_FAST32_MIN
#define INT_FAST32_MIN INT32_MIN
macroINT_FAST64_MIN
#define INT_FAST64_MIN INT64_MIN
macroINT_FAST8_MAX
#define INT_FAST8_MAX INT8_MAX
macroINT_FAST16_MAX
#define INT_FAST16_MAX INT16_MAX
macroINT_FAST32_MAX
#define INT_FAST32_MAX INT32_MAX
macroINT_FAST64_MAX
#define INT_FAST64_MAX INT64_MAX
macroUINT_FAST8_MAX
#define UINT_FAST8_MAX UINT8_MAX
macroUINT_FAST16_MAX
#define UINT_FAST16_MAX UINT16_MAX
macroUINT_FAST32_MAX
#define UINT_FAST32_MAX UINT32_MAX
macroUINT_FAST64_MAX
#define UINT_FAST64_MAX UINT64_MAX
macroINTPTR_MAX
#define INTPTR_MAX 9223372036854775807L
macroINTPTR_MIN
#define INTPTR_MIN (-INTPTR_MAX-1)
macroUINTPTR_MAX
#define UINTPTR_MAX 18446744073709551615UL
macroINTMAX_MAX
7.18.2.5 Limits of greatest-width integer types
#define INTMAX_MAX INTMAX_C(9223372036854775807)
macroUINTMAX_MAX
#define UINTMAX_MAX UINTMAX_C(18446744073709551615)
macroINTMAX_MIN
#define INTMAX_MIN (-INTMAX_MAX-1)
macroPTRDIFF_MAX
#define PTRDIFF_MAX INTMAX_MAX
macroSIZE_MAX
#define SIZE_MAX UINTPTR_MAX
macroWCHAR_MAX
#define WCHAR_MAX __WCHAR_MAX__
macroWCHAR_MIN
WCHAR_MIN should be 0 if wchar_t is an unsigned type and
(-WCHAR_MAX-1) if wchar_t is a signed type. Unfortunately,
it turns out that -fshort-wchar changes the signedness of
the type.
#define WCHAR_MIN (-WCHAR_MAX-1)
macroSIG_ATOMIC_MIN
#define SIG_ATOMIC_MIN INT32_MIN
macroSIG_ATOMIC_MAX
#define SIG_ATOMIC_MAX INT32_MAX