1 #ifndef LIMITS_H 2 #define LIMITS_H 1 3 4 /* Number of bits in a `char' */ 5 #define CHAR_BIT 8 6 7 /* Minimum and maximum values a `signed char' can hold */ 8 #define SCHAR_MIN (-128) 9 #define SCHAR_MAX 127 10 11 /* Maximum value an `unsigned char' can hold. (Minimum is 0.) */ 12 #define UCHAR_MAX 255 13 14 /* Minimum and maximum values a `char' can hold */ 15 #define CHAR_MIN SCHAR_MIN 16 #define CHAR_MAX SCHAR_MAX 17 18 /* Minimum and maximum values a `signed short int' can hold */ 19 #define SHRT_MIN (-32768) 20 #define SHRT_MAX 32767 21 22 /* Maximum value an `unsigned short' can hold. (Minimum is 0.) */ 23 #define USHRT_MAX 65535 24 25 26 /* Minimum and maximum values a `signed int' can hold */ 27 #define INT_MIN (-INT_MAX - 1) 28 #define INT_MAX 2147483647 29 30 /* Maximum value an `unsigned int' can hold. (Minimum is 0.) */ 31 #define UINT_MAX 4294967295U 32 33 34 /* Minimum and maximum values a `signed int' can hold */ 35 #define INT_MAX 2147483647 36 #define INT_MIN (-INT_MAX - 1) 37 38 39 /* Maximum value an `unsigned int' can hold. (Minimum is 0.) */ 40 #define UINT_MAX 4294967295U 41 42 43 /* Minimum and maximum values a `signed long' can hold */ 44 #define LONG_MAX 9223372036854775807L 45 #define LONG_MIN (-LONG_MAX - 1L) 46 47 /* Maximum value an `unsigned long' can hold. (Minimum is 0.) */ 48 #define ULONG_MAX 18446744073709551615UL 49 50 /* Minimum and maximum values a `signed long long' can hold */ 51 #define LLONG_MAX 9223372036854775807LL 52 #define LLONG_MIN (-LONG_MAX - 1LL) 53 54 55 /* Maximum value an `unsigned long long' can hold. (Minimum is 0.) */ 56 #define ULLONG_MAX 18446744073709551615ULL 57 58 59 #endif /* LIMITS_H */ 60