139 lines
3.1 KiB
C
139 lines
3.1 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 1991 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
brmain.h
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
Private header file which defines the global data which is used for
|
||
|
communication between the service control handler and the
|
||
|
rest of the NT Workstation service.
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Rita Wong (ritaw) 06-May-1991
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#ifndef _BRMAIN_INCLUDED_
|
||
|
#define _BRMAIN_INCLUDED_
|
||
|
|
||
|
#include <brnames.h> // Service interface names
|
||
|
|
||
|
//
|
||
|
// Time for the sender of a start or stop request to the Workstation
|
||
|
// service to wait (in milliseconds) before checking on the
|
||
|
// Workstation service again to see if it is done.
|
||
|
//
|
||
|
#define BR_WAIT_HINT_TIME 45000 // 45 seconds
|
||
|
|
||
|
//
|
||
|
// Defines to indicate how far we managed to initialize the Browser
|
||
|
// service before an error is encountered and the extent of clean up needed
|
||
|
//
|
||
|
|
||
|
#define BR_TERMINATE_EVENT_CREATED 0x00000001
|
||
|
#define BR_DEVICES_INITIALIZED 0x00000002
|
||
|
#define BR_RPC_SERVER_STARTED 0x00000004
|
||
|
#define BR_THREADS_STARTED 0x00000008
|
||
|
#define BR_NETWORKS_INITIALIZED 0x00000010
|
||
|
#define BR_BROWSER_INITIALIZED 0x00000020
|
||
|
#define BR_CONFIG_INITIALIZED 0x00000040
|
||
|
#define BR_NETBIOS_INITIALIZED 0x00000100
|
||
|
#define BR_DOMAINS_INITIALIZED 0x00000200
|
||
|
|
||
|
|
||
|
|
||
|
//-------------------------------------------------------------------//
|
||
|
// //
|
||
|
// Type definitions //
|
||
|
// //
|
||
|
//-------------------------------------------------------------------//
|
||
|
|
||
|
typedef struct _BR_GLOBAL_DATA {
|
||
|
|
||
|
//
|
||
|
// Workstation service status
|
||
|
//
|
||
|
SERVICE_STATUS Status;
|
||
|
|
||
|
//
|
||
|
// Service status handle
|
||
|
//
|
||
|
SERVICE_STATUS_HANDLE StatusHandle;
|
||
|
|
||
|
//
|
||
|
// When the control handler is asked to stop the Workstation service,
|
||
|
// it signals this event to notify all threads of the Workstation
|
||
|
// service to terminate.
|
||
|
//
|
||
|
HANDLE TerminateNowEvent;
|
||
|
|
||
|
HANDLE EventHandle;
|
||
|
|
||
|
} BR_GLOBAL_DATA, *PBR_GLOBAL_DATA;
|
||
|
|
||
|
extern BR_GLOBAL_DATA BrGlobalData;
|
||
|
|
||
|
extern PSVCHOST_GLOBAL_DATA BrLmsvcsGlobalData;
|
||
|
|
||
|
extern HANDLE BrGlobalEventlogHandle;
|
||
|
|
||
|
extern
|
||
|
ULONG
|
||
|
BrDefaultRole;
|
||
|
|
||
|
#define BROWSER_SERVICE_BITS_OF_INTEREST \
|
||
|
( SV_TYPE_POTENTIAL_BROWSER | \
|
||
|
SV_TYPE_BACKUP_BROWSER | \
|
||
|
SV_TYPE_MASTER_BROWSER | \
|
||
|
SV_TYPE_DOMAIN_MASTER )
|
||
|
|
||
|
ULONG
|
||
|
BrGetBrowserServiceBits(
|
||
|
IN PNETWORK Network
|
||
|
);
|
||
|
|
||
|
NET_API_STATUS
|
||
|
BrUpdateAnnouncementBits(
|
||
|
IN PDOMAIN_INFO DomainInfo OPTIONAL,
|
||
|
IN ULONG Flags
|
||
|
);
|
||
|
|
||
|
|
||
|
//
|
||
|
// Flags to BrUpdateNetworkAnnouncementBits
|
||
|
//
|
||
|
#define BR_SHUTDOWN 0x00000001
|
||
|
#define BR_PARANOID 0x00000002
|
||
|
|
||
|
NET_API_STATUS
|
||
|
BrUpdateNetworkAnnouncementBits(
|
||
|
IN PNETWORK Network,
|
||
|
IN PVOID Context
|
||
|
);
|
||
|
|
||
|
NET_API_STATUS
|
||
|
BrGiveInstallHints(
|
||
|
DWORD NewState
|
||
|
);
|
||
|
|
||
|
NET_API_STATUS
|
||
|
BrShutdownBrowserForNet(
|
||
|
IN PNETWORK Network,
|
||
|
IN PVOID Context
|
||
|
);
|
||
|
|
||
|
NET_API_STATUS
|
||
|
BrElectMasterOnNet(
|
||
|
IN PNETWORK Network,
|
||
|
IN PVOID Context
|
||
|
);
|
||
|
|
||
|
#endif // ifndef _BRMAIN_INCLUDED_
|