Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

99 lines
4.8 KiB

  1. #ifndef _STANDARD_HPP_
  2. #define _STANDARD_HPP_
  3. // Ruler
  4. // 1 2 3 4 5 6 7 8
  5. //345678901234567890123456789012345678901234567890123456789012345678901234567890
  6. /********************************************************************/
  7. /* */
  8. /* The standard data types. */
  9. /* */
  10. /* The standard data types should be used in preference to the */
  11. /* data types defined in the C++ language. This is to allow */
  12. /* for easier porting. If no suitable standard type exists */
  13. /* then one should be created and documented here. */
  14. /* */
  15. /********************************************************************/
  16. #define AUTO auto
  17. #define CONST const
  18. #define CONSTANT const
  19. #define EXTERN extern
  20. #define GLOBAL extern
  21. #define INLINE __forceinline
  22. #define LOCAL auto
  23. #define REGISTER register
  24. #define STATIC static
  25. #define VIRTUAL virtual
  26. #define VOLATILE volatile
  27. /********************************************************************/
  28. /* */
  29. /* The standard C++ types. */
  30. /* */
  31. /* The C++ standard reserves various lower case keywords. This */
  32. /* system uses a similar standard. All upper case words are */
  33. /* either constants or types. All words begining with a single */
  34. /* upper case letter are variables. */
  35. /* */
  36. /********************************************************************/
  37. typedef unsigned char BOOLEAN;
  38. typedef char CHAR;
  39. typedef short int SHORT;
  40. typedef int INT;
  41. typedef long int LONG;
  42. typedef signed char SCHAR;
  43. typedef signed short int SSHORT;
  44. typedef signed int SINT;
  45. typedef signed long int SLONG;
  46. typedef unsigned char UCHAR;
  47. typedef unsigned short int USHORT;
  48. typedef unsigned int UINT;
  49. typedef unsigned long int ULONG;
  50. typedef unsigned char *FAULT;
  51. typedef void *POINTER;
  52. /********************************************************************/
  53. /* */
  54. /* The optional standard types. */
  55. /* */
  56. /* Some of the standard types are specified in other headers. */
  57. /* We need to be careful not to redefine these specifications */
  58. /* if they already exist. */
  59. /* */
  60. /********************************************************************/
  61. #ifndef CDECL
  62. #define CDECL _cdecl
  63. #endif
  64. #ifndef VOID
  65. #define VOID void
  66. #endif
  67. /********************************************************************/
  68. /* */
  69. /* The fixed length types. */
  70. /* */
  71. /* The above types are intended to shadow the standard C++ types */
  72. /* built into the language. However, these types don't assure */
  73. /* any level of accuracy. Each of following types is defined */
  74. /* to provide a minimum level of precision. */
  75. /* */
  76. /********************************************************************/
  77. typedef unsigned __int8 BIT8;
  78. typedef unsigned __int16 BIT16;
  79. typedef unsigned __int32 BIT32;
  80. typedef unsigned __int64 BIT64;
  81. typedef signed __int8 SBIT8;
  82. typedef signed __int16 SBIT16;
  83. typedef signed __int32 SBIT32;
  84. typedef signed __int64 SBIT64;
  85. #endif