|
|
/*++
Copyright (c) 1990 Microsoft Corporation
Module Name:
bowdata.c
Abstract:
Redirector Data Variables
This module contains all of the definitions of the redirector data structures.
Author:
Larry Osterman (LarryO) 30-May-1990
Revision History:
30-May-1990 LarryO
Created
--*/
#include "precomp.h"
#pragma hdrstop
//
// Paging out these pagable variables actually GROWS the browser by 512 bytes
// so it's not worth doing it.
//
#ifdef ALLOC_DATA_PRAGMA
#pragma data_seg("PAGE")
#endif
LIST_ENTRY BowserNameHead = {0};
LIST_ENTRY BowserTransportHead = {0};
LARGE_INTEGER BowserStartTime = {0};
PEPROCESS BowserFspProcess = {0};
BOOLEAN BowserLogElectionPackets = {0};
//
// Time out FindMaster requests after 30 seconds.
//
ULONG BowserFindMasterTimeout = 30;
ULONG BowserMinimumConfiguredBrowsers = MIN_CONFIGURED_BROWSERS;
ULONG BowserMaximumBrowseEntries = MAX_BROWSE_ENTRIES;
#if DBG
ULONG BowserMailslotDatagramThreshold = 10;
ULONG BowserGetBrowserListThreshold = 10;
ULONG BowserServerDeletionThreshold = 20;
ULONG BowserDomainDeletionThreshold = 50;
#else
ULONG BowserMailslotDatagramThreshold = 0xffffffff;
ULONG BowserGetBrowserListThreshold = 0xffffffff;
ULONG BowserServerDeletionThreshold = 0xffffffff;
ULONG BowserDomainDeletionThreshold = 0xffffffff; #endif
ULONG BowserRandomSeed = {0};
LONG BowserNumberOfOpenFiles = {0};
//
// A pointer to the browser's device object
//
PBOWSER_FS_DEVICE_OBJECT BowserDeviceObject = {0};
#ifdef ALLOC_DATA_PRAGMA
#pragma data_seg()
#endif
//
// The redirector name and other initialization parameters are protected
// by the BowserDataResource. All reads of the initialization variables
// should acquire the name resource before they continue.
//
//
ERESOURCE BowserDataResource = {0};
//
// Browser static data protected by BowserDataResource.
//
BOWSERDATA BowserData = {0};
ULONG BowserOperationCount = 0;
ULONG BowserCurrentTime = {0};
KSPIN_LOCK BowserTransportMasterNameSpinLock = {0};
LONG BowserEventLogResetFrequency = {0};
LONG BowserIllegalDatagramCount = {0};
BOOLEAN BowserIllegalDatagramThreshold = {0};
LONG BowserIllegalNameCount = {0};
BOOLEAN BowserIllegalNameThreshold = {0};
ULONG BowserNumberOfMissedMailslotDatagrams = {0};
ULONG BowserNumberOfMissedGetBrowserServerListRequests = {0};
BOWSER_STATISTICS BowserStatistics = {0};
KSPIN_LOCK BowserStatisticsLock = {0};
BOOLEAN BowserRefuseReset = FALSE;
#ifdef PAGED_DBG
ULONG ThisCodeCantBePaged = 0; #endif
#if DBG
LONG BowserDebugTraceLevel = /* DPRT_ERROR | DPRT_DISPATCH */ /*DPRT_FSDDISP | DPRT_FSPDISP | DPRT_CREATE | DPRT_READWRITE |*/ /*DPRT_CLOSE | DPRT_FILEINFO | DPRT_VOLINFO | DPRT_DIRECTORY |*/ /*DPRT_FILELOCK | DPRT_CACHE | DPRT_EAFUNC | */ /*DPRT_ACLQUERY | DPRT_CLEANUP | DPRT_CONNECT | DPRT_FSCTL |*/ /*DPRT_TDI | DPRT_SMBBUF | DPRT_SMB | DPRT_SECURITY | */ /*DPRT_SCAVTHRD | DPRT_QUOTA | DPRT_FCB | DPRT_OPLOCK | */ /*DPRT_SMBTRACE | DPRT_INIT |*/0;
LONG BowserDebugLogLevel = /* DPRT_ERROR | DPRT_DISPATCH */ /*DPRT_FSDDISP | DPRT_FSPDISP | DPRT_CREATE | DPRT_READWRITE |*/ /*DPRT_CLOSE | DPRT_FILEINFO | DPRT_VOLINFO | DPRT_DIRECTORY |*/ /*DPRT_FILELOCK | DPRT_CACHE | DPRT_EAFUNC | */ /*DPRT_ACLQUERY | DPRT_CLEANUP | DPRT_CONNECT | DPRT_FSCTL |*/ /*DPRT_TDI | DPRT_SMBBUF | DPRT_SMB | DPRT_SECURITY | */ /*DPRT_SCAVTHRD | DPRT_QUOTA | DPRT_FCB | DPRT_OPLOCK | */ /*DPRT_SMBTRACE | DPRT_INIT |*/0;
#endif // BOWSERDBG
#ifdef ALLOC_DATA_PRAGMA
#pragma data_seg("INIT")
#endif
BOWSER_CONFIG_INFO BowserConfigEntries[] = { { BOWSER_CONFIG_IRP_STACK_SIZE, &BowserIrpStackSize, REG_DWORD, sizeof(DWORD) }, { BOWSER_CONFIG_MAILSLOT_THRESHOLD, &BowserMailslotDatagramThreshold, REG_DWORD, sizeof(DWORD) }, { BOWSER_CONFIG_GETBLIST_THRESHOLD, &BowserGetBrowserListThreshold, REG_DWORD, sizeof(DWORD) }, { BOWSER_CONFIG_SERVER_DELETION_THRESHOLD, &BowserServerDeletionThreshold, REG_DWORD, sizeof(DWORD) }, { BOWSER_CONFIG_DOMAIN_DELETION_THRESHOLD, &BowserDomainDeletionThreshold, REG_DWORD, sizeof(DWORD) }, { BOWSER_CONFIG_FIND_MASTER_TIMEOUT, &BowserFindMasterTimeout, REG_DWORD, sizeof(DWORD) }, { BOWSER_CONFIG_MINIMUM_CONFIGURED_BROWSER, &BowserMinimumConfiguredBrowsers, REG_DWORD, sizeof(DWORD) }, { BROWSER_CONFIG_MAXIMUM_BROWSE_ENTRIES, &BowserMaximumBrowseEntries, REG_DWORD, sizeof(DWORD) }, { BROWSER_CONFIG_REFUSE_RESET, &BowserRefuseReset, REG_BOOLEAN, sizeof(DWORD) }, #if DBG
{ L"BowserDebugTraceLevel", &BowserDebugTraceLevel, REG_DWORD, sizeof(DWORD) }, { L"BowserDebugLogLevel", &BowserDebugLogLevel, REG_DWORD, sizeof(DWORD) }, #endif
{ NULL, NULL, REG_NONE, 0} };
ULONG BowserIrpStackSize = BOWSER_DEFAULT_IRP_STACK_SIZE;
//
// STRING containing name of bowser device
//
UNICODE_STRING BowserNameString = {0};
#ifdef ALLOC_DATA_PRAGMA
#pragma data_seg()
#endif
|