windows-nt/Source/XPSP1/NT/base/cluster/service/init/initp.h
2020-09-26 16:20:57 +08:00

153 lines
2 KiB
C

/*++
Copyright (c) 1996 Microsoft Corporation
Module Name:
initp.h
Abstract:
Private header file for the initialization component of the
NT Cluster Service
Author:
John Vert (jvert) 6/5/1996
Revision History:
--*/
#include "service.h"
#include "stdio.h"
#include "stdlib.h"
#include "wchar.h"
#include "api_rpc.h"
#define LOG_CURRENT_MODULE LOG_MODULE_INIT
#define CS_CONCURRENT_RPC_CALLS 16
DWORD
ClusterInitialize(
VOID
);
VOID
ClusterShutdown(
DWORD ExitCode
);
DWORD
ClusterForm(
VOID
);
DWORD
ClusterJoin(
VOID
);
VOID
ClusterLeave(
VOID
);
RPC_STATUS
ClusterInitializeRpcServer(
VOID
);
DWORD
ClusterRegisterExtroclusterRpcInterface(
VOID
);
DWORD
ClusterRegisterJoinVersionRpcInterface(
VOID
);
VOID
ClusterDeregisterRpcInterfaces(
VOID
);
VOID
ClusterShutdownRpcServer(
VOID
);
DWORD
CspSetErrorCode(
IN DWORD ErrorCode,
OUT LPSERVICE_STATUS ServiceStatus
);
VOID
GenerateExceptionReport(
IN PEXCEPTION_POINTERS pExceptionInfo
);
//
// Restore database related functions
//
DWORD
RdbStopSvcOnNodes(
IN PNM_NODE_ENUM2 pNodeEnum,
IN LPCWSTR lpszServiceName
);
VOID
RdbGetRestoreDbParams(
IN HKEY hClusSvcKey
);
BOOL
RdbFixupQuorumDiskSignature(
IN DWORD dwSignature
);
DWORD
RdbpOpenDiskDevice(
IN LPCWSTR lpDriveLetter,
OUT PHANDLE pFileHandle
);
DWORD
RdbpCompareAndWriteSignatureToDisk(
IN HANDLE hFile,
IN DWORD dwSignature
);
DWORD
RdbStartSvcOnNodes(
IN LPCWSTR lpszServiceName
);
DWORD
RdbInitialize(
VOID
);
DWORD
RdbpUnloadClusterHive(
VOID
);
DWORD
RdbpDeleteRestoreDbParams(
VOID
);
//
// Private Constants
//
#define CS_MAX_DELAYED_WORK_THREADS 5
#define CS_MAX_CRITICAL_WORK_THREADS 1 // The critical queue is serialized
#define MIN_WORKING_SET_SIZE (1*1024*1024)
#define MAX_WORKING_SET_SIZE (2*MIN_WORKING_SET_SIZE)
extern BOOLEAN bFormCluster;