stdint.h 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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. #define UINT8_C(value) ((uint8_t) __CONCAT(value, U))
  8. #define UINT8_MIN 0x00
  9. #define UINT8_MAX 0xFF
  10. typedef unsigned char uint8_t;
  11. #define INT16_C(value) value
  12. #define INT16_MIN -0x8000
  13. #define INT16_MAX 0x7FFF
  14. typedef signed short int16_t;
  15. #define UINT16_C(value) __CONCAT(value, U)
  16. #define UINT16_MIN 0x0000
  17. #define UINT16_MAX 0xFFFF
  18. typedef unsigned short uint16_t;
  19. #define INT32_C(value) __CONCAT(value, L)
  20. #define INT32_MIN -0x80000000
  21. #define INT32_MAX 0x7FFFFFFF
  22. typedef signed long int32_t;
  23. #define UINT32_C(value) __CONCAT(value, UL)
  24. #define UINT32_MIN 0x00000000
  25. #define UINT32_MAX 0xFFFFFFFF
  26. typedef unsigned long uint32_t;
  27. #define INT64_C(value) __CONCAT(value, LL)
  28. #define INT64_MIN -0x8000000000000000
  29. #define INT64_MAX 0x7FFFFFFFFFFFFFFF
  30. typedef signed long long int64_t;
  31. #define UINT64_C(value) __CONCAT(value, ULL)
  32. #define UINT64_MIN 0x0000000000000000
  33. #define UINT64_MAX 0xFFFFFFFFFFFFFFFF
  34. typedef unsigned long long uint64_t;
  35. #define INTMAX_C(value) __CONCAT(value, LL)
  36. #define INTMAX_MIN INT64_MIN
  37. #define INTMAX_MAX INT64_MAX
  38. typedef int64_t intmax_t;
  39. #define UINTMAX_C(value) __CONCAT(value, ULL)
  40. #define UINTMAX_MIN UINT64_MIN
  41. #define UINTMAX_MAX UINT64_MAX
  42. typedef uint64_t uintmax_t;
  43. #define INTPTR_MIN INT64_MIN
  44. #define INTPTR_MAX INT64_MAX
  45. typedef int64_t intptr_t;
  46. #define UINTPTR_MIN UINT64_MIN
  47. #define UINTPTR_MAX UINT64_MAX
  48. typedef uint64_t uintptr_t;
  49. #define SIZE_MAX UINT64_MAX
  50. #endif /* _STDINT_H */