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.

143 lines
5.5 KiB

  1. #ifndef _FEATURES_HPP_
  2. #define _FEATURES_HPP_
  3. // Ruler
  4. // 1 2 3 4 5 6 7 8
  5. //345678901234567890123456789012345678901234567890123456789012345678901234567890
  6. /********************************************************************/
  7. /* */
  8. /* The standard layout. */
  9. /* */
  10. /* The standard layout for 'hpp' files for this code is as */
  11. /* follows: */
  12. /* */
  13. /* 1. Include files. */
  14. /* 2. Constants exported from the class. */
  15. /* 3. Data structures exported from the class. */
  16. /* 4. Forward references to other data structures. */
  17. /* 5. Class specifications (including inline functions). */
  18. /* 6. Additional large inline functions. */
  19. /* */
  20. /* Any portion that is not required is simply omitted. */
  21. /* */
  22. /********************************************************************/
  23. #include "Standard.hpp"
  24. #include "System.hpp"
  25. /********************************************************************/
  26. /* */
  27. /* Active project list. */
  28. /* */
  29. /* The active project list contains all of the projects that */
  30. /* are currently selected. */
  31. /* */
  32. /********************************************************************/
  33. #define ROCKALL_II 1
  34. /********************************************************************/
  35. /* */
  36. /* Active fetaure lists. */
  37. /* */
  38. /* The active features list contain all of the features that */
  39. /* are currently selected for each project. */
  40. /* */
  41. /********************************************************************/
  42. #ifdef PIPELINE_SERVER
  43. #ifdef DEBUGGING
  44. #define ENABLE_DEBUG_FILE 1
  45. #define ENABLE_LOCK_STATISTICS 1
  46. #define PRINT_ACTIVE_PACKETS 1
  47. #endif
  48. #define ENABLE_NON_STANDARD_ASSEMBLY 1
  49. #endif
  50. #ifdef ROCKALL_II
  51. #ifdef DEBUGGING
  52. #define ENABLE_DEBUG_FILE 1
  53. #define ENABLE_HEAP_STATISTICS 1
  54. #endif
  55. #define DISABLE_ATOMIC_FLAGS 1
  56. #define DISABLE_ENVIRONMENT_VARIABLES 1
  57. #define DISABLE_GLOBAL_NEW 1
  58. #endif
  59. #ifdef WEB_SERVER
  60. #ifdef DEBUGGING
  61. #define ENABLE_DEBUG_FILE 1
  62. #define ENABLE_LOCK_STATISTICS 1
  63. #define PRINT_ACTIVE_PACKETS 1
  64. #endif
  65. #define ENABLE_NON_STANDARD_ASSEMBLY 1
  66. #endif
  67. /********************************************************************/
  68. /* */
  69. /* The complete feature list. */
  70. /* */
  71. /* The code supports a significant number of optional features */
  72. /* which are listed in this file. Any feature can be activated */
  73. /* by copying the approriate setting. Please be sure to keep */
  74. /* all the flags up to date and leave at list one copy of each */
  75. /* flag below. */
  76. /* */
  77. /********************************************************************/
  78. #ifdef ACTIVATE_ALL_OPTIONS
  79. //
  80. // Standard options for all code.
  81. //
  82. #define ASSEMBLY_X86 1
  83. #define DEBUGGING 1
  84. #define DISABLE_GLOBAL_NEW 1
  85. #define DISABLE_PRECOMPILED_HEADERS 1
  86. #define DISABLE_STRUCTURED_EXCEPTIONS 1
  87. //
  88. // Standard options for the library code.
  89. //
  90. #define ENABLE_DEBUG_FILE 1
  91. #define ENABLE_LOCK_STATISTICS 1
  92. #define ENABLE_NON_STANDARD_ASSEMBLY 1
  93. #define ENABLE_RECURSIVE_LOCKS 1
  94. #define DISABLE_ATOMIC_FLAGS 1
  95. #define DISABLE_ENVIRONMENT_VARIABLES 1
  96. #define DISABLE_STRING_LOCKS 1
  97. //
  98. // Rockall specific options.
  99. //
  100. #define COMPILING_ROCKALL_DLL 1
  101. #define COMPILING_ROCKALL_LIBRARY 1
  102. #define ENABLE_ALLOCATION_STATISTICS 1
  103. #define ENABLE_HEAP_STATISTICS 1
  104. #define NO_DEFAULT_HEAP 1
  105. //
  106. // Pipeline Server specific options.
  107. //
  108. #define ENABLE_BUFFER_LOCK 1
  109. #define ENABLE_ZERO_WRITE_BUFFER 1
  110. #define PRINT_ACTIVE_PACKETS 1
  111. //
  112. // Pipeline Server demo specific options.
  113. //
  114. #define ENABLE_DATABASE 1
  115. #define ENABLE_READING 1
  116. #define ENABLE_TRANSACTIONS 1
  117. #define ENABLE_WRITING 1
  118. //
  119. // Web Server specific options.
  120. //
  121. #define DISABLE_ASYNC_IO 1
  122. #define DISABLE_BUFFER_COPY 1
  123. #define DISABLE_WEB_LOCKS 1
  124. #endif
  125. #endif