stdint.h 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. #ifndef _STDINT_H
  2. #define _STDINT_H
  3. #define INT8_C(value) ((int8_t) value)
  4. #define INT8_MIN -0x80
  5. #define INT8_MAX 0x7F
  6. typedef signed char int8_t;
  7. typedef signed char int_least8_t;
  8. typedef signed char int_fast8_t;
  9. #define UINT8_C(value) ((uint8_t) value ## U)
  10. #define UINT8_MIN 0x00
  11. #define UINT8_MAX 0xFF
  12. typedef unsigned char uint8_t;
  13. typedef unsigned char uint_least8_t;
  14. typedef unsigned char uint_fast8_t;
  15. #define INT16_C(value) value
  16. #define INT16_MIN -0x8000
  17. #define INT16_MAX 0x7FFF
  18. typedef signed short int16_t;
  19. typedef signed short int_least16_t;
  20. typedef signed short int_fast16_t;
  21. #define UINT16_C(value) value ## U
  22. #define UINT16_MIN 0x0000
  23. #define UINT16_MAX 0xFFFF
  24. typedef unsigned short uint16_t;
  25. typedef unsigned short uint_least16_t;
  26. typedef unsigned short uint_fast16_t;
  27. #define INT32_C(value) value ## L
  28. #define INT32_MIN -0x80000000
  29. #define INT32_MAX 0x7FFFFFFF
  30. typedef signed long int32_t;
  31. typedef signed long int_least32_t;
  32. typedef signed long int_fast32_t;
  33. #define UINT32_C(value) value ## UL
  34. #define UINT32_MIN 0x00000000
  35. #define UINT32_MAX 0xFFFFFFFF
  36. typedef unsigned long uint32_t;
  37. typedef unsigned long uint_least32_t;
  38. typedef unsigned long uint_fast32_t;
  39. #define INT64_C(value) value ## LL
  40. #define INT64_MIN -0x8000000000000000
  41. #define INT64_MAX 0x7FFFFFFFFFFFFFFF
  42. typedef signed long long int64_t;
  43. typedef signed long long int_least64_t;
  44. typedef signed long long int_fast64_t;
  45. #define UINT64_C(value) value ## ULL
  46. #define UINT64_MIN 0x0000000000000000
  47. #define UINT64_MAX 0xFFFFFFFFFFFFFFFF
  48. typedef unsigned long long uint64_t;
  49. typedef unsigned long long uint_least64_t;
  50. typedef unsigned long long uint_fast64_t;
  51. #define INTMAX_C(value) value ## LL
  52. #define INTMAX_MIN INT64_MIN
  53. #define INTMAX_MAX INT64_MAX
  54. typedef int64_t intmax_t;
  55. #define UINTMAX_C(value) value ## ULL
  56. #define UINTMAX_MIN UINT64_MIN
  57. #define UINTMAX_MAX UINT64_MAX
  58. typedef uint64_t uintmax_t;
  59. #define INTPTR_MIN INT64_MIN
  60. #define INTPTR_MAX INT64_MAX
  61. typedef int64_t intptr_t;
  62. #define UINTPTR_MIN UINT64_MIN
  63. #define UINTPTR_MAX UINT64_MAX
  64. typedef uint64_t uintptr_t;
  65. #define SIZE_MAX UINT64_MAX
  66. typedef int sig_atomic_t;
  67. #endif /* _STDINT_H */