Source code of Windows XP (NT5)
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.

188 lines
4.1 KiB

  1. /*++
  2. Copyright (c) 1998-2001 Microsoft Corporation
  3. Module Name:
  4. data.h
  5. Abstract:
  6. This module declares global data for HTTP.SYS.
  7. Author:
  8. Keith Moore (keithmo) 10-Jun-1998
  9. Revision History:
  10. --*/
  11. #ifndef _DATA_H_
  12. #define _DATA_H_
  13. #ifdef __cplusplus
  14. extern "C" {
  15. #endif
  16. //
  17. // Some data types.
  18. //
  19. typedef struct _UL_CONFIG
  20. {
  21. USHORT ThreadsPerCpu;
  22. USHORT IrpContextLookasideDepth;
  23. USHORT ReceiveBufferLookasideDepth;
  24. USHORT ResourceLookasideDepth;
  25. USHORT RequestBufferLookasideDepth;
  26. USHORT InternalRequestLookasideDepth;
  27. USHORT SendTrackerLookasideDepth;
  28. USHORT ResponseBufferLookasideDepth;
  29. USHORT LogBufferLookasideDepth;
  30. BOOLEAN EnableUnload;
  31. BOOLEAN EnableSecurity;
  32. UL_URI_CACHE_CONFIG UriConfig;
  33. LONG LargeMemMegabytes;
  34. } UL_CONFIG, *PUL_CONFIG;
  35. //
  36. // The number of processors in the system.
  37. //
  38. extern CLONG g_UlNumberOfProcessors;
  39. //
  40. // The largest cache line in the system
  41. //
  42. extern ULONG g_UlCacheLineSize;
  43. extern ULONG g_UlCacheLineBits;
  44. //
  45. // Our nonpaged data.
  46. //
  47. extern PUL_NONPAGED_DATA g_pUlNonpagedData;
  48. //
  49. // A pointer to the system process.
  50. //
  51. extern PKPROCESS g_pUlSystemProcess;
  52. //
  53. // Our device objects and their container.
  54. //
  55. extern HANDLE g_UlDirectoryObject;
  56. extern PDEVICE_OBJECT g_pUlControlDeviceObject;
  57. extern PDEVICE_OBJECT g_pUlFilterDeviceObject;
  58. extern PDEVICE_OBJECT g_pUlAppPoolDeviceObject;
  59. //
  60. // Various pieces of configuration information.
  61. //
  62. extern CCHAR g_UlPriorityBoost;
  63. extern CCHAR g_UlIrpStackSize;
  64. extern USHORT g_UlMinIdleConnections;
  65. extern USHORT g_UlMaxIdleConnections;
  66. extern ULONG g_UlReceiveBufferSize;
  67. extern ULONG g_UlMaxRequestBytes;
  68. extern BOOLEAN g_UlEnableConnectionReuse;
  69. extern BOOLEAN g_UlEnableNagling;
  70. extern BOOLEAN g_UlEnableThreadAffinity;
  71. extern ULONGLONG g_UlThreadAffinityMask;
  72. extern ULONG g_UlMaxUrlLength;
  73. extern ULONG g_UlMaxFieldLength;
  74. extern USHORT g_UlDebugLogTimerCycle;
  75. extern USHORT g_UlDebugLogBufferPeriod;
  76. extern ULONG g_UlLogBufferSize;
  77. extern BOOLEAN g_UlEnableNonUTF8;
  78. extern BOOLEAN g_UlEnableDBCS;
  79. extern BOOLEAN g_UlFavorDBCS;
  80. extern USHORT g_UlMaxInternalUrlLength;
  81. extern ULONG g_UlMaxVariableHeaderSize;
  82. extern ULONG g_UlMaxFixedHeaderSize;
  83. extern ULONG g_UlFixedHeadersMdlLength;
  84. extern ULONG g_UlVariableHeadersMdlLength;
  85. extern ULONG g_UlContentMdlLength;
  86. extern ULONG g_UlChunkTrackerSize;
  87. extern ULONG g_UlFullTrackerSize;
  88. extern ULONG g_UlResponseBufferSize;
  89. extern ULONG g_UlMaxBufferedBytes;
  90. extern ULONG g_UlMaxCopyThreshold;
  91. extern ULONG g_UlMaxSendBufferedBytes;
  92. extern ULONG g_UlMaxWorkQueueDepth;
  93. extern ULONG g_UlMinWorkDequeueDepth;
  94. extern ULONG g_UlOpaqueIdTableSize;
  95. //
  96. // Cached Date header string.
  97. //
  98. extern LARGE_INTEGER g_UlSystemTime;
  99. extern UCHAR g_UlDateString[];
  100. extern ULONG g_UlDateStringLength;
  101. //
  102. // Debug stuff.
  103. //
  104. #if DBG
  105. extern ULONG g_UlDebug;
  106. extern ULONG g_UlBreakOnError;
  107. extern ULONG g_UlVerboseErrors;
  108. extern UL_DEBUG_STATISTICS_INFO g_UlDebugStats;
  109. #endif // DBG
  110. #if REFERENCE_DEBUG
  111. extern PTRACE_LOG g_pMondoGlobalTraceLog;
  112. extern PTRACE_LOG g_pTdiTraceLog;
  113. extern PTRACE_LOG g_pHttpRequestTraceLog;
  114. extern PTRACE_LOG g_pHttpConnectionTraceLog;
  115. extern PTRACE_LOG g_pHttpResponseTraceLog;
  116. extern PTRACE_LOG g_pAppPoolTraceLog;
  117. extern PTRACE_LOG g_pConfigGroupTraceLog;
  118. extern PTRACE_LOG g_pThreadTraceLog;
  119. extern PTRACE_LOG g_pFilterTraceLog;
  120. extern PTRACE_LOG g_pIrpTraceLog;
  121. extern PTRACE_LOG g_pTimeTraceLog;
  122. extern PTRACE_LOG g_pReplenishTraceLog;
  123. extern PTRACE_LOG g_pFilterQueueTraceLog;
  124. extern PTRACE_LOG g_pMdlTraceLog;
  125. extern PTRACE_LOG g_pSiteCounterTraceLog;
  126. extern PTRACE_LOG g_pConnectionCountTraceLog;
  127. extern PTRACE_LOG g_pConfigGroupInfoTraceLog;
  128. extern PTRACE_LOG g_pChunkTrackerTraceLog;
  129. extern PTRACE_LOG g_pWorkItemTraceLog;
  130. #endif // REFERENCE_DEBUG
  131. //
  132. // Object types exported by the kernel but not in any header file.
  133. //
  134. extern POBJECT_TYPE *IoFileObjectType;
  135. #ifdef __cplusplus
  136. }; // extern "C"
  137. #endif
  138. #endif // _DATA_H_