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.

232 lines
14 KiB

  1. /**INC+**********************************************************************/
  2. /* Header: adcgdefs.h */
  3. /* */
  4. /* Purpose: Optional defines used throughout the project */
  5. /* */
  6. /* Copyright(C) Microsoft Corporation 1997 */
  7. /* */
  8. /****************************************************************************/
  9. /** Changes:
  10. * $Log: Y:/logs/hydra/inc/tshare/adcgdefs.h_v $
  11. *
  12. * Rev 1.2 12 Sep 1997 10:45:20 NL
  13. * SFR1312: add kernel Security
  14. *
  15. * Rev 1.1 02 Sep 1997 16:57:16 OBK
  16. * SFR1133: Put adcgdefs.h into NT tree
  17. *
  18. * Rev 1.10 14 Aug 1997 13:53:40 KH
  19. * SFR1022: Split ANSI text enabling macro into 16 and 32 bit
  20. *
  21. * Rev 1.9 11 Aug 1997 16:59:42 MR
  22. * SFR1133: Added USE_FULL_CA, USE_AWC
  23. *
  24. * Rev 1.8 07 Aug 1997 14:33:48 MR
  25. * SFR1133: Persuade Wd to compile under C++
  26. *
  27. * Rev 1.7 04 Aug 1997 18:59:38 JPB
  28. * SFR1171: Add build options to create exes that run with HiProf
  29. *
  30. * Rev 1.6 24 Jul 1997 16:47:04 KH
  31. * SFR1033: Add DC_ANSI_TEXT_ORDERS
  32. *
  33. * Rev 1.5 23 Jul 1997 19:03:40 JPB
  34. * SFR1032: Add Bitmap Caching support
  35. *
  36. * Rev 1.4 23 Jul 1997 12:05:38 OBK
  37. * SFR1119: Add USE_HET and USE_DS
  38. *
  39. * Rev 1.3 18 Jul 1997 11:26:42 AK
  40. * SFR1073: List legal #define flags for moans
  41. *
  42. * Rev 1.2 17 Jul 1997 08:20:40 KH
  43. * SFR1022: Add SL_UNICODE_PROTOCOL
  44. *
  45. * Rev 1.1 11 Jul 1997 12:46:34 MD
  46. * SFR1073: Add adcgdefs.h
  47. **/
  48. /**INC-**********************************************************************/
  49. #ifndef _H_ADCGDEFS
  50. #define _H_ADCGDEFS
  51. /****************************************************************************/
  52. /* This header contains a list of all the optional defines used throughout */
  53. /* the project. To compile-in some optionally defined code, enable the */
  54. /* appropriate option here. Note that: */
  55. /* */
  56. /* - all defines must be declared and documented here. This is enforced */
  57. /* by moans. */
  58. /* - the list must be sorted alphabetically. This makes it easy to spot */
  59. /* duplicate defines. */
  60. /****************************************************************************/
  61. /****************************************************************************/
  62. /* DC_ANSI_TEXT_ORDERS enables support for encoded text orders where the */
  63. /* characters are in ANSI format. */
  64. /****************************************************************************/
  65. /*#undef DC_ANSI_TEXT_ORDERS*/
  66. #define DC_ANSI_TEXT_ORDERS
  67. /****************************************************************************/
  68. /* DC_LATENCY enables the latency test code in UH and OP. This code */
  69. /* generates a dummy key press (of the Ctrl key) whenever a large piece of */
  70. /* drawing is done. This allows the client processing time for a single */
  71. /* key stroke to be accurately measured using a network sniffer (e.g. */
  72. /* NetMon). In a typical situation Notepad is running in a remote session */
  73. /* (no other apps are running in the session) and the following occurs: */
  74. /* */
  75. /* - Notepad has the focus on the client. */
  76. /* - Press a key. */
  77. /* - Key-press is packaged by the client and sent on the wire. */
  78. /* - Server interprets packet and injects the key-press. */
  79. /* - Notepad does some processing which results in a character being */
  80. /* drawn on the screen. */
  81. /* - Server detects this drawing, packages it and sends it on the wire. */
  82. /* - Client receives update packets and processes them. */
  83. /* - The drawing operation results in a dummy key-press being generated. */
  84. /* - Dummy key-press is packaged by the client and sent on the wire. */
  85. /* */
  86. /* The time between the first update packet arriving and the dummy */
  87. /* key-press being sent is the total client processing time for a */
  88. /* key-press. */
  89. /****************************************************************************/
  90. #undef DC_LATENCY
  91. /* #define DC_LATENCY */
  92. /****************************************************************************/
  93. /* DC_LOOPBACK enables the NL loopback testing code. This stresses the */
  94. /* network layer by attempting to send a continual stream of packets with */
  95. /* incrementing size. The equivalent code on the server detects loopback */
  96. /* packets and reflects them straight back to the client where they are */
  97. /* compared to ensure that they have not been corrupted by the round trip. */
  98. /****************************************************************************/
  99. #undef DC_LOOPBACK
  100. /* #define DC_LOOPBACK */
  101. /****************************************************************************/
  102. /* Code within DC_NLTEST is used solely for testing the network layer. It */
  103. /* consists of: */
  104. /* */
  105. /* - a modification to TD_Recv so that it only ever tries to retrieve a */
  106. /* single byte from WinSock regardless of the amount of data that the */
  107. /* caller to TD_Recv asks for. This stresses the common failure path */
  108. /* within NL where processing of a packet has to be temporarily */
  109. /* suspended until more data arrives. */
  110. /* - random failure of NL_GetBuffer. This stresses the whole of the */
  111. /* client by simulating network layer back-pressure. */
  112. /* */
  113. /****************************************************************************/
  114. #undef DC_NLTEST
  115. /* #define DC_NLTEST */
  116. /****************************************************************************/
  117. /* DC_SERVER_ORDERS_ONLY compiles the client using just the T.128 orders */
  118. /* that the server sends (i.e. removes unused T.128 orders). */
  119. /****************************************************************************/
  120. /* #undef DC_SERVER_ORDERS_ONLY */
  121. #define DC_SERVER_ORDERS_ONLY
  122. /****************************************************************************/
  123. /* Defining DC_PERF enables the timing code which enables the time spent */
  124. /* in several key functions to be easily determined. */
  125. /****************************************************************************/
  126. #undef DC_PERF
  127. /* #define DC_PERF */
  128. /****************************************************************************/
  129. /* ENABLE_SECURITY compiles the Server with a preferred Security Package of */
  130. /* "NTLM". Undefining it compiles with "None". */
  131. /****************************************************************************/
  132. #undef ENABLE_SECURITY
  133. /* #define ENABLE_SECURITY */
  134. /****************************************************************************/
  135. /* Defining SL_UNICODE_PROTOCOL enables code to send security package names */
  136. /* in Unicode, rather than ANSI, format. */
  137. /****************************************************************************/
  138. #undef SL_UNICODE_PROTOCOL
  139. /* #define SL_UNICODE_PROTOCOL */
  140. /****************************************************************************/
  141. /* The following flags are defined elsewehere - for example in the build */
  142. /* scripts. They are placed here to enable moans to detect legal defines - */
  143. /* the moans use '/* FLAG:' to find these names. */
  144. /* */
  145. /* FLAG: OS_WIN16 */
  146. /* - flag to indicate a Win16 build */
  147. /* */
  148. /* FLAG: OS_WIN32 */
  149. /* - flag to indicate a Win32 build */
  150. /* */
  151. /* FLAG: OS_WINDOWS */
  152. /* - flag to indicate a Windows build */
  153. /* */
  154. /* FLAG: DC_DEBUG */
  155. /* - flag to indicate a debug build */
  156. /* */
  157. /* FLAG: DC_DEFINE_GLOBAL_DATA */
  158. /* - used in aglobal.c to define global data */
  159. /* */
  160. /* FLAG: UNICODE */
  161. /* - Windows Unicode option */
  162. /* */
  163. /* FLAG: HIPROF */
  164. /* - HiProf profiler build */
  165. /* */
  166. /****************************************************************************/
  167. /****************************************************************************/
  168. /* The following flags are used in the server code. */
  169. /* */
  170. /* FLAG: ALLOW_SINGLE_APPS */
  171. /* FLAG: CA_MULTIPLE_CLIENTS */
  172. /* FLAG: CH_NO_COUNT */
  173. /* FLAG: COMP_STATS */
  174. /* FLAG: COMPRESS_CACHED_BITMAPS */
  175. /* FLAG: DC_BIGEND */
  176. /* FLAG: DC_FIXED_CODE_MODULE */
  177. /* FLAG: DC_INCLUDE_DATA */
  178. /* FLAG: DC_INCL_PROTOTYPES */
  179. /* FLAG: DC_INCL_TYPEDEFS */
  180. /* FLAG: DC_INIT_DATA */
  181. /* FLAG: DC_NO_UNALIGNED */
  182. /* FLAG: DDINT3 */
  183. /* FLAG: DEBUG_EVICTION_LIST */
  184. /* FLAG: DIAGNOSE_BOUNDS */
  185. /* FLAG: DITHER_MONO_CURSORS */
  186. /* FLAG: DLL_COREP */
  187. /* FLAG: DLL_DISP */
  188. /* FLAG: DLL_WD */
  189. /* FLAG: GIN_ACCEPT_INVITES */
  190. /* FLAG: HYDRA */
  191. /* FLAG: NOT_SERVICE */
  192. /* FLAG: ORDER_TRACE */
  193. /* FLAG: QUERY_THROUGHPUT */
  194. /* FLAG: RC_INVOKED */
  195. /* FLAG: REMOVE_LINEAR */
  196. /* FLAG: SBC_PERF */
  197. /* FLAG: SNI_ASSERT */
  198. /* FLAG: SNI_ASSERT */
  199. /* FLAG: TRC_ENABLE_ALT */
  200. /* FLAG: TRC_ENABLE_DBG */
  201. /* FLAG: TRC_ENABLE_NRM */
  202. /* FLAG: TRC_GROUP */
  203. /* FLAG: TRC_TEST_LEVEL */
  204. /* FLAG: USE_AWC */
  205. /* FLAG: USE_DS */
  206. /* FLAG: USE_EL */
  207. /* FLAG: USE_FULL_CA */
  208. /* FLAG: USE_HET */
  209. /* FLAG: USE_SWL */
  210. /* FLAG: V1_COMPRESSION */
  211. /* FLAG: VER_APPSERV */
  212. /* FLAG: VER_CPP */
  213. /* */
  214. /* FLAG: __cplusplus */
  215. /* FLAG: far */
  216. /* FLAG: pTRCWd */
  217. /* */
  218. /****************************************************************************/
  219. #endif /* _H_ADCGDEFS */