csr_typedefs.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. #ifndef _CSR_TYPEDEFS_H_
  2. #define _CSR_TYPEDEFS_H_
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. #ifndef NULL
  7. #define NULL 0
  8. #endif
  9. typedef char i1;
  10. typedef unsigned char u1;
  11. typedef short i2;
  12. typedef unsigned short u2;
  13. typedef int i4;
  14. typedef unsigned int u4;
  15. typedef long long i8;
  16. typedef unsigned long long u8;
  17. typedef u4 csr_offset_t;
  18. /*
  19. #if U8_AVAILABLE
  20. typedef signed long int s8;
  21. typedef unsigned long int u8;
  22. #else
  23. typedef struct {u4 low, high;} u8;
  24. #define s8 u8
  25. #endif
  26. */
  27. #define CSR_INT8_MIN -128
  28. #define CSR_INT8_MAX 127
  29. #define CSR_UINT8_MAX 255
  30. #define CSR_INT16_MIN -32768
  31. #define CSR_INT16_MAX 32767
  32. #define CSR_UINT16_MAX 65535
  33. /*
  34. * Note that "int" is 32 bits on all currently supported Unix-like operating
  35. * systems, but "long" can be either 32 bits or 64 bits, thus the 32 bit
  36. * constants are not qualified with "L".
  37. */
  38. #define CSR_INT32_MIN -2147483648
  39. #define CSR_INT32_MAX 2147483647
  40. #define CSR_UINT32_MAX 4294967295U
  41. #define CSR_INT64_MIN -9223372036854775808LL
  42. #define CSR_INT64_MAX 9223372036854775807LL
  43. #define CSR_UINT64_MAX 18446744073709551615ULL
  44. #ifdef WIN32
  45. #undef HIBYTE
  46. #undef LOBYTE
  47. #undef MAKEWORD
  48. #endif
  49. #ifndef WIN32
  50. typedef unsigned char BYTE;
  51. typedef unsigned short WORD;
  52. #ifndef _WINDEF_
  53. typedef unsigned int DWORD;
  54. #endif
  55. #endif
  56. #ifndef WIN32
  57. #define HIBYTE(W) (((W) >> 8) & 0xFF)
  58. #define LOBYTE(W) ((W)&0xFF)
  59. #define MAKEWORD(low, high) \
  60. ((WORD)(((BYTE)(low)) | ((WORD)((BYTE)(high))) << 8))
  61. #endif // end win32
  62. #undef HIWORD
  63. #ifndef HIWORD
  64. #define HIWORD(dw) ((dw) >> 16)
  65. #endif
  66. #undef LOWORD
  67. #ifndef LOWORD
  68. #define LOWORD(dw) ((dw)&0xffff)
  69. #endif
  70. #undef MAKEDWORD
  71. #ifndef MAKEDWORD
  72. #define MAKEDWORD(hw, lw) (((hw) << 16) | (lw))
  73. #endif
  74. #ifdef __cplusplus
  75. }
  76. #endif
  77. #endif