c_limits.h 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #ifndef __c_limits_h
  2. #define __c_limits_h
  3. #include <limits.h>
  4. #if 0
  5. #define CHAR_BIT 8
  6. /* max number of bits for smallest object that is not a bit-field (byte) */
  7. #define SCHAR_MIN (-128)
  8. /* mimimum value for an object of type signed char */
  9. #define SCHAR_MAX 127
  10. /* maximum value for an object of type signed char */
  11. #define UCHAR_MAX 255
  12. /* maximum value for an object of type unsigned char */
  13. #ifdef __FEATURE_SIGNED_CHAR
  14. #define CHAR_MIN (-128)
  15. /* minimum value for an object of type char */
  16. #define CHAR_MAX 127
  17. /* maximum value for an object of type char */
  18. #else
  19. #define CHAR_MIN 0
  20. /* minimum value for an object of type char */
  21. #define CHAR_MAX 255
  22. /* maximum value for an object of type char */
  23. #endif
  24. #define SHRT_MIN (-0x8000)
  25. /* minimum value for an object of type short int */
  26. #define SHRT_MAX 0x7fff
  27. /* maximum value for an object of type short int */
  28. #define USHRT_MAX 65535
  29. /* maximum value for an object of type unsigned short int */
  30. #define INT_MIN (~0x7fffffff) /* -2147483648 and 0x80000000 are unsigned */
  31. /* minimum value for an object of type int */
  32. #define INT_MAX 0x7fffffff
  33. /* maximum value for an object of type int */
  34. #define UINT_MAX 0xffffffffU
  35. /* maximum value for an object of type unsigned int */
  36. #define LONG_MIN (~0x7fffffffL)
  37. /* minimum value for an object of type long int */
  38. #define LONG_MAX 0x7fffffffL
  39. /* maximum value for an object of type long int */
  40. #define ULONG_MAX 0xffffffffUL
  41. /* maximum value for an object of type unsigned long int */
  42. #if !defined(__STRICT_ANSI__) || (defined(__STDC_VERSION__) && 199901L <= __STDC_VERSION__)
  43. #define LLONG_MIN (~0x7fffffffffffffffLL)
  44. /* minimum value for an object of type long long int */
  45. #define LLONG_MAX 0x7fffffffffffffffLL
  46. /* maximum value for an object of type long long int */
  47. #define ULLONG_MAX 0xffffffffffffffffULL
  48. /* maximum value for an object of type unsigned long int */
  49. #endif
  50. #endif
  51. #endif
  52. /* end of c_limits.h */