windows-nt/Source/XPSP1/NT/base/cluster/test/evtview/globals.h
2020-09-26 16:20:57 +08:00

156 lines
3.1 KiB
C

#ifndef _GLOBALS_H_
#define _GLOBALS_H_
#include "clusapi.h"
#include "clusutil.h"
#define NAME_LEN 80
#define WM_GOTEVENT WM_USER + 1
#define WM_EXITEVENTTHREAD WM_USER + 2
#define WM_REFRESH WM_USER + 3
// Event Defintions
typedef struct {
DWORD dwCatagory ;
time_t time ;
DWORD dwFilter ;
DWORD dwSubFilter ;
WCHAR szSourceName[NAME_LEN] ;
WCHAR szObjectName[NAME_LEN] ;
} EVTFILTER_TYPE, *PEVTFILTER_TYPE ;
// Event Catagories
#define EVENT_CATAGORY_CLUSTER 1
#define EVENT_CATAGORY_CLUSTER_CONSISTENCY 2
// Event filter definitions
#define EVENT_FILTER 1
#define EVENT_SUBFILTER 2
// Define Distinct Types of Events.
// Events Generated By the clustering system.
struct EVENTDEFINITION {
DWORD_PTR dwCatagory ;
PDWORDTOSTRINGMAP pFilter ;
PDWORDTOSUBSTRINGMAP pSubFilter ;
WCHAR szCatagory [NAME_LEN] ;
WCHAR szFilterPrompt [NAME_LEN] ;
WCHAR szSubFilterPrompt [NAME_LEN] ;
WCHAR szSourceNamePrompt [NAME_LEN] ;
WCHAR szObjectNamePrompt [NAME_LEN] ;
} ;
typedef EVENTDEFINITION *PEVENTDEFINITION ;
struct EVENTTHREADPARAM
{
HWND hWnd ;
CDocument *pDoc ;
WCHAR szSourceName [NAME_LEN] ;
HANDLE hEvent ;
} ;
extern CPtrList ptrlstEventDef ;
// Clustering Related
extern EVENTDEFINITION aClusEventDefinition ;
// For Cluster Consistency Checks.
#define EVENT_FILTER_CONSISTENCY 1
// -1 in any of the following stands for any value
#define SCHEDULE_SUNDAY 1
#define SCHEDULE_MONDAY 2
#define SCHEDULE_TUESDAY 4
#define SCHEDULE_WEDNESDAY 8
#define SCHEDULE_THURSDAY 16
#define SCHEDULE_FRIDAY 32
#define SCHEDULE_SATURDAY 64
// Action Type definitions.
#define SCHEDULE_ACTION_COMMAND 1
struct SCHEDULE_TIMEINFO
{
int iYear ;
int iMonth ;
int iDay ;
int iHour ;
int iMin ;
int iSec ;
int iWeekDay ;
CTime ctime ;
} ;
struct SCHEDULE_EVENTINFO
{
DWORD_PTR dwCatagory ;
DWORD_PTR dwFilter ;
DWORD_PTR dwSubFilter ; // online or Offline or Fail or Pause
WCHAR szSourceName [NAME_LEN] ;
WCHAR szObjectName [NAME_LEN] ;
} ;
struct SCHEDULE_ACTIONINFO
{
DWORD_PTR dwActionType ;
CString stParam ;
} ;
struct SCHEDULE_INFO
{
CTime minTime ;
CPtrList lstTimeInfo ; // List of SCHEDULE_TIMEINFO
CPtrList lstEventInfo ; // List of SCHEDULE_EVENTINFO
CPtrList lstActionInfo ; // List of SCHEDULE_ACTIONINFO
} ;
extern DWORDTOSTRINGMAP aAction [] ;
//extern CTime minTime ;
extern HWND hScheduleWnd ;
extern UINT_PTR nIDTimer ;
extern CPtrList ptrlstSInfo ;
// For the modeless dialog to display the event list
LPCWSTR GetType (DWORD_PTR dwCatagory, DWORD_PTR dwCode) ;
LPCWSTR GetSubType (DWORD_PTR dwCatagory, DWORD dwCode, DWORD dwSubCode) ;
extern PEVENTDEFINITION GetEventDefinition (DWORD_PTR dwType) ;
// Functions defined in schedule.cpp
extern AddSchedule () ;
extern ModifySchedule (SCHEDULE_INFO *pSOldInfo) ;
extern ScheduleInit () ;
extern void ScheduleDeInit() ;
extern void ResetTimer () ;
extern void FreeEventList (CPtrList &ptrlst) ;
extern void FreeActionList (CPtrList &ptrlst) ;
extern void FreeTimeList (CPtrList &ptrlst) ;
void ComputeAbsoluteTime (SCHEDULE_INFO *pSInfo) ;
#endif // _GLOBALS_H_