windows-nt/Source/XPSP1/NT/base/fs/rdr2/bowser/bowdata.h
2020-09-26 16:20:57 +08:00

223 lines
3.3 KiB
C

/*++
Copyright (c) 1990 Microsoft Corporation
Module Name:
bowdata.h
Abstract:
Redirector global data structure definition
Author:
Larry Osterman (LarryO) 30-May-1990
Revision History:
30-May-1990 LarryO
Created
--*/
#ifndef _BOWDATA_
#define _BOWDATA_
#define SERVERS_PER_BACKUP 32
#define MIN_CONFIGURED_BROWSERS 1
#define MAX_BROWSE_ENTRIES (100000)
#define MASTER_TIME_UP 15*60*1000
#define NUMBER_IGNORED_PROMOTIONS 10
#define HOST_ANNOUNCEMENT_AGE 3
//
//
//
typedef struct _BowserData {
BOOLEAN Initialized; // True iff redirector has been started
LONG NumberOfMailslotBuffers; // Number of buffers to receive mailslots
LONG NumberOfServerAnnounceBuffers; // Number of buffers for server announcements
LONG IllegalDatagramThreshold; // Max number of illegal datagrams/frequency
LONG EventLogResetFrequency; // Number of seconds between resetting counter.
BOOLEAN ProcessHostAnnouncements;
BOOLEAN MaintainServerList;
BOOLEAN IsLanmanNt;
#ifdef ENABLE_PSEUDO_BROWSER
DWORD PseudoServerLevel;
#endif
} BOWSERDATA, *PBOWSERDATA;
typedef struct _BOWSER_CONFIG_INFO {
LPWSTR ConfigParameterName;
PVOID ConfigValue;
ULONG ConfigValueType;
ULONG ConfigValueSize;
} BOWSER_CONFIG_INFO, *PBOWSER_CONFIG_INFO;
extern
BOWSER_CONFIG_INFO
BowserConfigEntries[];
//
// Private boolean type used by redirector only.
//
// Maps to REG_DWORD, with value != 0
//
#define REG_BOOLEAN (0xffffffff)
#define REG_BOOLEAN_SIZE (sizeof(DWORD))
//
//
//
// Bowser Data variables
//
//
//
extern
ERESOURCE
BowserNameResource;
extern
UNICODE_STRING
BowserNameString;
extern
LIST_ENTRY
BowserNameHead;
extern
KSPIN_LOCK
BowserTimeSpinLock;
extern
KSPIN_LOCK
BowserMailslotSpinLock;
extern
PKEVENT
BowserServerAnnouncementEvent;
extern
struct _BOWSER_FS_DEVICE_OBJECT *
BowserDeviceObject;
extern
ERESOURCE
BowserDataResource; // Resource controlling Bowser data.
extern
BOWSERDATA
BowserData; // Structure protected by resource
extern ULONG BowserOperationCount;
#define BOWSER_DEFAULT_IRP_STACK_SIZE 4
extern
ULONG
BowserIrpStackSize;
extern
ULONG
BowserCurrentTime;
extern
LARGE_INTEGER
BowserStartTime;
extern
KSPIN_LOCK
BowserTransportMasterNameSpinLock;
extern
PEPROCESS
BowserFspProcess;
extern
LONG
BowserEventLogResetFrequency;
extern
LONG
BowserIllegalDatagramCount;
extern
BOOLEAN
BowserIllegalDatagramThreshold;
extern
LONG
BowserIllegalNameCount;
extern
BOOLEAN
BowserIllegalNameThreshold;
extern
BOOLEAN
BowserLogElectionPackets;
extern
BOWSER_STATISTICS
BowserStatistics;
extern
KSPIN_LOCK
BowserStatisticsLock;
extern
ULONG
BowserNumberOfMissedMailslotDatagrams;
extern
ULONG
BowserNumberOfMissedGetBrowserServerListRequests;
extern
ULONG
BowserMailslotDatagramThreshold;
extern
ULONG
BowserGetBrowserListThreshold;
extern
ULONG
BowserServerDeletionThreshold;
extern
ULONG
BowserDomainDeletionThreshold;
extern
ULONG
BowserFindMasterTimeout;
extern
ULONG
BowserMinimumConfiguredBrowsers;
extern
ULONG
BowserMaximumBrowseEntries;
extern
BOOLEAN
BowserRefuseReset;
extern
ULONG
BowserRandomSeed;
extern
LONG
BowserNumberOfOpenFiles;
#endif // _BOWDATA_