mirror of https://github.com/tongzx/nt5src
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
188 lines
4.1 KiB
/*++
|
|
|
|
Copyright (c) 1998-2001 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
data.h
|
|
|
|
Abstract:
|
|
|
|
This module declares global data for HTTP.SYS.
|
|
|
|
Author:
|
|
|
|
Keith Moore (keithmo) 10-Jun-1998
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
|
|
|
|
#ifndef _DATA_H_
|
|
#define _DATA_H_
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
|
|
//
|
|
// Some data types.
|
|
//
|
|
|
|
typedef struct _UL_CONFIG
|
|
{
|
|
USHORT ThreadsPerCpu;
|
|
USHORT IrpContextLookasideDepth;
|
|
USHORT ReceiveBufferLookasideDepth;
|
|
USHORT ResourceLookasideDepth;
|
|
USHORT RequestBufferLookasideDepth;
|
|
USHORT InternalRequestLookasideDepth;
|
|
USHORT SendTrackerLookasideDepth;
|
|
USHORT ResponseBufferLookasideDepth;
|
|
USHORT LogBufferLookasideDepth;
|
|
BOOLEAN EnableUnload;
|
|
BOOLEAN EnableSecurity;
|
|
|
|
UL_URI_CACHE_CONFIG UriConfig;
|
|
|
|
LONG LargeMemMegabytes;
|
|
|
|
} UL_CONFIG, *PUL_CONFIG;
|
|
|
|
|
|
//
|
|
// The number of processors in the system.
|
|
//
|
|
|
|
extern CLONG g_UlNumberOfProcessors;
|
|
|
|
//
|
|
// The largest cache line in the system
|
|
//
|
|
|
|
extern ULONG g_UlCacheLineSize;
|
|
extern ULONG g_UlCacheLineBits;
|
|
|
|
|
|
//
|
|
// Our nonpaged data.
|
|
//
|
|
|
|
extern PUL_NONPAGED_DATA g_pUlNonpagedData;
|
|
|
|
|
|
//
|
|
// A pointer to the system process.
|
|
//
|
|
|
|
extern PKPROCESS g_pUlSystemProcess;
|
|
|
|
|
|
//
|
|
// Our device objects and their container.
|
|
//
|
|
|
|
extern HANDLE g_UlDirectoryObject;
|
|
|
|
extern PDEVICE_OBJECT g_pUlControlDeviceObject;
|
|
extern PDEVICE_OBJECT g_pUlFilterDeviceObject;
|
|
extern PDEVICE_OBJECT g_pUlAppPoolDeviceObject;
|
|
|
|
|
|
//
|
|
// Various pieces of configuration information.
|
|
//
|
|
|
|
extern CCHAR g_UlPriorityBoost;
|
|
extern CCHAR g_UlIrpStackSize;
|
|
extern USHORT g_UlMinIdleConnections;
|
|
extern USHORT g_UlMaxIdleConnections;
|
|
extern ULONG g_UlReceiveBufferSize;
|
|
extern ULONG g_UlMaxRequestBytes;
|
|
extern BOOLEAN g_UlEnableConnectionReuse;
|
|
extern BOOLEAN g_UlEnableNagling;
|
|
extern BOOLEAN g_UlEnableThreadAffinity;
|
|
extern ULONGLONG g_UlThreadAffinityMask;
|
|
extern ULONG g_UlMaxUrlLength;
|
|
extern ULONG g_UlMaxFieldLength;
|
|
extern USHORT g_UlDebugLogTimerCycle;
|
|
extern USHORT g_UlDebugLogBufferPeriod;
|
|
extern ULONG g_UlLogBufferSize;
|
|
extern BOOLEAN g_UlEnableNonUTF8;
|
|
extern BOOLEAN g_UlEnableDBCS;
|
|
extern BOOLEAN g_UlFavorDBCS;
|
|
extern USHORT g_UlMaxInternalUrlLength;
|
|
extern ULONG g_UlMaxVariableHeaderSize;
|
|
extern ULONG g_UlMaxFixedHeaderSize;
|
|
extern ULONG g_UlFixedHeadersMdlLength;
|
|
extern ULONG g_UlVariableHeadersMdlLength;
|
|
extern ULONG g_UlContentMdlLength;
|
|
extern ULONG g_UlChunkTrackerSize;
|
|
extern ULONG g_UlFullTrackerSize;
|
|
extern ULONG g_UlResponseBufferSize;
|
|
extern ULONG g_UlMaxBufferedBytes;
|
|
extern ULONG g_UlMaxCopyThreshold;
|
|
extern ULONG g_UlMaxSendBufferedBytes;
|
|
extern ULONG g_UlMaxWorkQueueDepth;
|
|
extern ULONG g_UlMinWorkDequeueDepth;
|
|
extern ULONG g_UlOpaqueIdTableSize;
|
|
|
|
|
|
//
|
|
// Cached Date header string.
|
|
//
|
|
|
|
extern LARGE_INTEGER g_UlSystemTime;
|
|
extern UCHAR g_UlDateString[];
|
|
extern ULONG g_UlDateStringLength;
|
|
|
|
|
|
//
|
|
// Debug stuff.
|
|
//
|
|
|
|
#if DBG
|
|
extern ULONG g_UlDebug;
|
|
extern ULONG g_UlBreakOnError;
|
|
extern ULONG g_UlVerboseErrors;
|
|
extern UL_DEBUG_STATISTICS_INFO g_UlDebugStats;
|
|
#endif // DBG
|
|
|
|
#if REFERENCE_DEBUG
|
|
extern PTRACE_LOG g_pMondoGlobalTraceLog;
|
|
extern PTRACE_LOG g_pTdiTraceLog;
|
|
extern PTRACE_LOG g_pHttpRequestTraceLog;
|
|
extern PTRACE_LOG g_pHttpConnectionTraceLog;
|
|
extern PTRACE_LOG g_pHttpResponseTraceLog;
|
|
extern PTRACE_LOG g_pAppPoolTraceLog;
|
|
extern PTRACE_LOG g_pConfigGroupTraceLog;
|
|
extern PTRACE_LOG g_pThreadTraceLog;
|
|
extern PTRACE_LOG g_pFilterTraceLog;
|
|
extern PTRACE_LOG g_pIrpTraceLog;
|
|
extern PTRACE_LOG g_pTimeTraceLog;
|
|
extern PTRACE_LOG g_pReplenishTraceLog;
|
|
extern PTRACE_LOG g_pFilterQueueTraceLog;
|
|
extern PTRACE_LOG g_pMdlTraceLog;
|
|
extern PTRACE_LOG g_pSiteCounterTraceLog;
|
|
extern PTRACE_LOG g_pConnectionCountTraceLog;
|
|
extern PTRACE_LOG g_pConfigGroupInfoTraceLog;
|
|
extern PTRACE_LOG g_pChunkTrackerTraceLog;
|
|
extern PTRACE_LOG g_pWorkItemTraceLog;
|
|
|
|
#endif // REFERENCE_DEBUG
|
|
|
|
|
|
//
|
|
// Object types exported by the kernel but not in any header file.
|
|
//
|
|
|
|
extern POBJECT_TYPE *IoFileObjectType;
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}; // extern "C"
|
|
#endif
|
|
|
|
#endif // _DATA_H_
|