223 lines
3.3 KiB
C
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_
|