eis/TestProject/DCR/ihdb_inc/hd3Struct.h

662 lines
19 KiB
C++
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* @file hd3Struct.h
* @brief hd3 struct
* @author: hd3 team
* @date 03/02/2015
* @version initialize version
* Copyright: Shanghai Baosight Software Co., Ltd.
*/
#ifndef HD3_INCLUDE_GUARD_HD3STRUCT_H
#define HD3_INCLUDE_GUARD_HD3STRUCT_H
#include "data_types.h"
#include "hd3Enum.h"
#include "hd3MaskDefine.h"
#include <string>
#ifndef HD3_DEFINE_GUARD_HD3HANDLE
#define HD3_DEFINE_GUARD_HD3HANDLE
typedef void* HD3HANDLE;
#endif
// HD3_SOCKET ¶¨Òå
#ifndef WIN32
# ifndef SOCKET
# define SOCKET int
# endif
#else
# ifndef SOCKET
# if defined(_WIN64)
typedef __int64 INT_PTR, *PINT_PTR;
typedef unsigned __int64 UINT_PTR, *PUINT_PTR;
# else
typedef _W64 int INT_PTR, *PINT_PTR;
typedef _W64 unsigned int UINT_PTR, *PUINT_PTR;
# endif
typedef UINT_PTR SOCKET;
# endif
#endif
// epsilon of compare double with 0
#define HD3_EPSILON (double)0.00001
// ËùÓÐTagµã¹²ÓÐÊôÐÔ
#define HD3_COMM_TAG_PROP \
char szTagName[HD3_LEN_TAG_NAME * HD3_BASE]; \
bool bArchiving; \
uint32 nChangeDate; \
char szChanger[HD3_LEN_USER_NAME * HD3_BASE]; \
float fCompDev; \
int32 nCompMaxTime; \
enum HD3_COMP_TYPE nCompType; \
uint32 nCreationDate; \
char szCreator[HD3_LEN_USER_NAME * HD3_BASE]; \
uint8 nRecAccess; \
char szRecNormalGroup[HD3_LEN_USER_NAME * HD3_BASE]; \
char szRecOwnerGroup[HD3_LEN_USER_NAME * HD3_BASE]; \
char szDescriptor[HD3_LEN_TAG_DESC * HD3_BASE]; \
char szDigitalSet[HD3_LEN_DIGITAL_SET_NAME * HD3_BASE]; \
char szEngUnits[HD3_LEN_ENG_UNITS * HD3_BASE]; \
int32 nExcMaxTime; \
float fExcDev; \
uint32 nTagID; \
enum HD3_TAG_TYPE nTagType; \
uint8 nTagAccess; \
char szTagNormalGroup[HD3_LEN_USER_NAME * HD3_BASE]; \
char szTagOwnerGroup[HD3_LEN_USER_NAME * HD3_BASE]; \
bool bScan; \
float fSpan; \
float fMinValue; \
enum HD3_TAG_CLASS nTagClass; \
enum HD3_TAG_AVALIABLE nTagAvaliable; \
uint8 nParam1; \
uint8 nParam2; \
uint8 nParam3; \
uint8 nParam4; \
uint8 nParam5; \
enum HD3_TAG_OPC_STATE nOpcState; \
char szIMVString[HD3_LEN_EXT_STRING * HD3_BASE]; \
char szExtString1[HD3_LEN_EXT_STRING * HD3_BASE]; \
char szExtString2[HD3_LEN_EXT_STRING * HD3_BASE]
// ÆÕͨµãÌØÓÐÊôÐÔ
#define HD3_PT_TAG_EXT_PROP \
HD3_M char szInstrumentAddress[HD3_LEN_INSTRUMENT_ADDRESS * HD3_BASE]; \
uint8 nInstrumentAddressType; \
char szCollectorName[HD3_LEN_COLLECTOR_NAME * HD3_BASE]; \
int32 nCollectorID; \
char szDeviceName[HD3_LEN_DEVICE_NAME * HD3_BASE]; \
HD3_M uint32 nDeviceID; \
char szScanGroupName[HD3_LEN_SCANGROUP_NAME * HD3_BASE]; \
HD3_M uint32 nScanGroupID; \
enum HD3_DATA_ORDER nDataOrder
// ±¨¾¯µãÌØÓÐÊôÐÔ
#define HD3_ALARM_TAG_EXT_PROP \
char szTest1[HD3_LEN_ALARM_TEST * HD3_BASE]; \
char szTest2[HD3_LEN_ALARM_TEST * HD3_BASE]; \
char szTest3[HD3_LEN_ALARM_TEST * HD3_BASE]; \
char szTest4[HD3_LEN_ALARM_TEST * HD3_BASE]; \
char szAction1[HD3_LEN_ALARM_ACTION * HD3_BASE]; \
char szAction2[HD3_LEN_ALARM_ACTION * HD3_BASE]; \
char szAction3[HD3_LEN_ALARM_ACTION * HD3_BASE]; \
char szAction4[HD3_LEN_ALARM_ACTION * HD3_BASE]; \
char szSourceTagName[HD3_LEN_TAG_NAME * HD3_BASE]; \
uint32 nAlarmGroupID; \
enum HD3_AM_ACK_TYPE nAutoAck; \
int32 nTimeDeadBand; \
float fValueDeadBand
// ͳ¼ÆµãÌØÓÐÊôÐÔ
#define HD3_STATS_TAG_EXT_PROP \
char szSourceTagName[HD3_LEN_TAG_NAME * HD3_BASE]; \
enum HD3_STATS_TYPE nStatsType; \
int32 nSampleStartDate; \
enum HD3_STATS_SAMPLE_MODE nSampleMode; \
HD3_M int32 nSampleInterval; \
int32 nSampleBeginOffset; \
int32 nSampleEndOffset; \
/*TT*/uint8 nSampleMonthBeginDay; \
/*TT*/uint8 nSampleMonthEndDay; \
bool bBeginTimeStamp; \
int32 nTimeStampOffset; \
int32 nScanPeriod; \
float fPctGood; \
char szFilterExpr[HD3_LEN_FILTER_EXPR * HD3_BASE]; \
enum HD3_STATS_DROP_BAD_MODE nDropBadMode; \
double dCountParam1; \
double dCountParam2; \
enum HD3_STATS_SAMPLE_TYPE nSampleType; \
int32 nInterpOffset; \
int32 nInterpPeriod; \
enum HD3_STATS_CONVERSION_TYPE nConversionType; \
double dConversion; \
enum HD3_STATS_FILTER_FAIL_MODE nFilterFailMode; \
int32 nCalcPeriod; \
bool bReset;\
bool bUseBadValue
// ¼ÆËãµãÌØÓÐÊôÐÔ
#define HD3_CALC_TAG_EXT_PROP \
enum HD3_CALC_MODE nCalcMode; \
int32 nCalcPeriod; \
char szCalcExpr[HD3_LEN_CALC_EXPR * HD3_BASE]; \
bool bCalcHistory; \
int32 nCalcStartDate; \
int32 nCalcEndDate; \
bool bHaveEndTime; \
char szSourceTagName[HD3_LEN_TAG_NAME * HD3_BASE]
// SPC¹æÔò
#define HD3_SPC_RULE \
char szUCLTagName[HD3_LEN_TAG_NAME * HD3_BASE];\
char szCLTagName[HD3_LEN_TAG_NAME* HD3_BASE];\
char szLCLTagName[HD3_LEN_TAG_NAME* HD3_BASE];\
char szUSLTagName[HD3_LEN_TAG_NAME* HD3_BASE];\
char szLSLTagName[HD3_LEN_TAG_NAME* HD3_BASE];\
char szResetTagName[HD3_LEN_TAG_NAME* HD3_BASE];\
float64 dUCLDefaultValue;\
float64 dCLDefaultVaule;\
float64 dLCLDefaultValue;\
bool bRule1;\
bool bRule2;\
bool bRule3;\
bool bRule4;\
bool bRule5;\
bool bRule6;\
bool bRule7;\
bool bRule8;\
uint32 nRule1M;\
uint32 nRule2M;\
uint32 nRule3M;\
uint32 nRule4M;\
uint32 nRule5M;\
uint32 nRule6M;\
uint32 nRule7M;\
uint32 nRule8M;\
uint32 nRule5N;\
uint32 nRule6N;\
bool bJudgeContinuous
// SPCµãÌØÓÐÊôÐÔ
#define HD3_SPC_TAG_EXT_PROP \
char szSourceTagName[HD3_LEN_TAG_NAME * HD3_BASE]; \
uint32 nAlarmGroupID; \
enum HD3_SPC_CTRL_CHART_TYPE nCtrlChartType; \
enum HD3_SPC_TRIGGER_MODE nTriggerMode; \
int32 nSampleSize; \
int32 nSampleInterval; \
bool bAutoAck; \
HD3_SPC_RULE
/* TagµãÊôÐԽṹ */
HD3_M;
typedef struct {
HD3_COMM_TAG_PROP;
}HD3CommTagProp;
// ÆÕͨµã
HD3_M;
typedef struct {
HD3_COMM_TAG_PROP;
HD3_PT_TAG_EXT_PROP;
}HD3PtTagProp;
// ±¨¾¯µã
typedef struct {
HD3_COMM_TAG_PROP;
HD3_ALARM_TAG_EXT_PROP;
}HD3AlarmTagProp;
// SPCµã
typedef struct {
HD3_COMM_TAG_PROP;
HD3_SPC_TAG_EXT_PROP;
}HD3SpcTagProp;
// ͳ¼Æµã
typedef struct {
HD3_COMM_TAG_PROP;
HD3_STATS_TAG_EXT_PROP;
}HD3StatsTagProp;
// ¼ÆËãµã
typedef struct {
HD3_COMM_TAG_PROP;
HD3_CALC_TAG_EXT_PROP;
}HD3CalcTagProp;
// Ðí¿ÉÖ¤ÐÅÏ¢
typedef struct {
enum HD3_LICENSE nLicense;
int32 nValidSec;
uint32 nClientNum;
}HD3LicenseInfo;
/** ʱ¼ä´Ó1970Äê1ÔÂ0ÈÕ00:00:01µ½2038Äê1ÔÂ19ÈÕ3:14:06 */
typedef struct {
int32 month; /**< 1-12 */
int32 year; /**< four digit */
int32 day; /**< 1-31 */
int32 hour; /**< 0-23 */
int32 minute; /**< 0-59 */
int32 second; /**< 0-59*/
int32 mSecond; /**< 0-999*/
int32 timezone; /**< -12~12*/
}HD3TimeStamp;
// ʱ¼ä
typedef struct {
int32 nSec;
int16 nMsec;
}HD3Time;
// ʱ¼äÇø¼ä
typedef struct {
HD3Time left; // ×óÇø¼ä
HD3Time right; // ÓÒÇø¼ä
bool bLeftClosed; // ×óÇø¼ä¿ª»òÊDZÕ
bool bRightClosed; // ÓÒÇø¼ä¿ª»òÊDZÕ
}HD3TimeRegion;
// //µ¥Ò»¿Í»§¶ËÁ¬½ÓÐÅÏ¢
// typedef struct {
// HD3_M uint32 nClientIP;
// char szMac[32];
// int32 nSocketNum;
// HD3_SOCKET nSocket[HD3_CLIENT_SOCKET_MAX];
// }HD3ClientConnInfo;
//
// typedef struct {
// HD3_SOCKET nSocket;
// int32 nConnectTime;
// int32 nPackageRecvNum;
// int32 nPackageRecvTime;
// char szUserName[HD3_LEN_USER_NAME * HD3_BASE];
// }HD3SocketNetInfo;
// Êý¾Ý
typedef struct {
int32 nSec;
int16 nMsec;
uint16 nQuality;
enum HD3_TAG_TYPE nTagType;
struct
{
int8 nInt8;
int16 nInt16;
int32 nInt32;
float32 fFloat32;
float64 fFloat64;
int8 nDigital;
struct
{
char* pBuf;
uint16 nLenBuf;
}strBlob;
}value;
inline const double NumberValue()
{
if(this->nTagType == HD3_TAG_TYPE_INT8)return (double)this->value.nInt8;
if(this->nTagType == HD3_TAG_TYPE_INT16)return (double)this->value.nInt16;
if(this->nTagType == HD3_TAG_TYPE_INT32)return (double)this->value.nInt32;
if(this->nTagType == HD3_TAG_TYPE_FLOAT32)return (double)this->value.fFloat32;
if(this->nTagType == HD3_TAG_TYPE_FLOAT64)return (double)this->value.fFloat64;
if(this->nTagType == HD3_TAG_TYPE_DIGITAL)return (double)this->value.nDigital;
return 0;
}
inline const std::string StringValue()
{
if(this->nTagType == HD3_TAG_TYPE_STRING)return std::string(this->value.strBlob.pBuf,this->value.strBlob.nLenBuf);
return "";
}
}HD3Record;
// ²éѯÌõ¼þ£¨Tagµã²éѯ£¬Êý¾Ý²éѯ£¬±¨¾¯¼Ç¼²éѯ£¬SPC¼Ç¼²éѯ£©
typedef struct {
int32 nItemID;
enum HD3_RELATION nRelation;
char szValue[HD3_LEN_QUERY_ITEM_VALUE * HD3_BASE];
}HD3FilterItem;
// ±¨¾¯
typedef struct {
uint32 nAlarmTagID; /**< ±¨¾¯µãID*/
HD3Time tvStartTime; /**< ±¨¾¯¿ªÊ¼Ê±¼ä*/
HD3Time tvEndTime; /**< ±¨¾¯ÖÕֹʱ¼ä*/
HD3Time tvAckTime; /**< ±¨¾¯È·ÈÏʱ¼ä*/
HD3Time tvCommentTime; /**< ±¨¾¯×¢ÊÍʱ¼ä*/
enum HD3_AM_REC_ACK_STATE nAcked; /**< È·ÈÏ״̬*/
enum HD3_AM_REC_RESTORE_STATE nRestored; /**< »Ö¸´×´Ì¬*/
enum HD3_AM_REC_PRIORITY nPriority; /**< ÓÅÏȼ¶*/
enum HD3_AM_ACK_TYPE nAckType; /**< ±¨¾¯È·ÈÏÀàÐÍ*/
enum HD3_AM_REC_TYPE nAlarmType; /**< ±¨¾¯ÀàÐÍ*/
char szSrcValue[HD3_LEN_VAR_TYPE_VALUE * HD3_BASE]; /**< Ô´Öµ*/
char szTest[HD3_LEN_ALARM_TEST * HD3_BASE]; /**< Î¥·´¹æÔò*/
char szComment[HD3_LEN_ALARM_COMMENT * HD3_BASE]; /**< ×¢ÊÍ*/
char szAcker[HD3_LEN_USER_NAME * HD3_BASE]; /**< È·ÈÏÕß*/
char szCommentor[HD3_LEN_USER_NAME * HD3_BASE]; /**< ×¢ÊÍÕß*/
}HD3AlarmRecord;
// SPC
typedef struct {
uint32 nSPCTagID; /**< SPC±¨¾¯µãID*/
HD3Time tvStartTime; /**< ±¨¾¯¿ªÊ¼Ê±¼ä*/
HD3Time tvEndTime; /**< ±¨¾¯ÖÕֹʱ¼ä*/
HD3Time tvAckTime; /**< ±¨¾¯È·ÈÏʱ¼ä*/
HD3Time tvCommentTime; /**< ±¨¾¯×¢ÊÍʱ¼ä*/
enum HD3_AM_REC_ACK_STATE nAcked; /**< È·ÈÏ״̬*/
enum HD3_AM__REC_ACK_TYPE nAckType; /**< È·ÈÏÀàÐÍ£¬ÊÖ¶¯»¹ÊÇ×Ô¶¯*/
enum HD3_AM_REC_RESTORE_STATE nRestored; /**< »Ö¸´×´Ì¬*/
int8 nValue; /**< ±¨¾¯Öµ*/
uint32 nRule1M; /**< ÅÐÒì¹æÔò1µÄMÖµ*/
uint32 nRule2M; /**< ÅÐÒì¹æÔò2µÄMÖµ*/
uint32 nRule3M; /**< ÅÐÒì¹æÔò3µÄMÖµ*/
uint32 nRule4M; /**< ÅÐÒì¹æÔò4µÄMÖµ*/
uint32 nRule5M; /**< ÅÐÒì¹æÔò5µÄMÖµ*/
uint32 nRule5N; /**< ÅÐÒì¹æÔò5µÄNÖµ*/
uint32 nRule6M; /**< ÅÐÒì¹æÔò6µÄMÖµ*/
uint32 nRule6N; /**< ÅÐÒì¹æÔò6µÄNÖµ*/
uint32 nRule7M; /**< ÅÐÒì¹æÔò7µÄMÖµ*/
uint32 nRule8M; /**< ÅÐÒì¹æÔò8µÄMÖµ*/
char szSrcValue[HD3_LEN_VAR_TYPE_VALUE * HD3_BASE]; /**< Ô´Öµ*/
char szComment[HD3_LEN_ALARM_COMMENT * HD3_BASE]; /**< ×¢ÊÍ*/
char szAcker[HD3_LEN_USER_NAME * HD3_BASE]; /**< È·ÈÏÕß*/
char szCommentor[HD3_LEN_USER_NAME * HD3_BASE]; /**< ×¢ÊÍÕß*/
}HD3SpcRecord;
// iHyperDB ±¨¾¯×é
typedef struct {
char szName[HD3_LEN_ALARM_GROUP_NAME * HD3_BASE]; /**< ±¨¾¯×éµÄÃû×Ö */
char szDesc[HD3_LEN_ALARM_GROUP_DESC * HD3_BASE]; /**< ±¨¾¯×éµÄÃèÊö */
uint32 nGroupID; /**< ±¨¾¯×éµÄID */
uint32 nParentID; /**< ±¨¾¯×éµÄÉÏÒ»¼¶×éÃû£¬µÚÒ»¼¶×éµÄ×éÃûΪ¿Õ¼´ "" */
}HD3AlarmGroup;
// iHyperDB ÀúÊ·±¨¾¯²éѯÌõ¼þ
typedef struct {
HD3Time tvStart;
HD3Time tvEnd;
int64 nAckMask; // HD3AmAckStateMask
int64 nTypeMask; // HD3AmTypeMask
int64 nPriorMask; // HD3AmPriorityMask
int64 nRestoreMask; // HD3AmRestoreStateMask
}HD3AlarmQuery;
// iHyperDB SPC±¨¾¯²éѯÌõ¼þ
typedef struct {
HD3Time tvStart;
HD3Time tvEnd;
int64 nAckMask; // HD3AmAckStateMask
int64 nRestoreMask; // HD3AmRestoreStateMask
}HD3SPCQuery;
// iHyperDB ȨÏÞ¹ÜÀí: Óû§
typedef struct {
char szUserName[HD3_LEN_USER_NAME * HD3_BASE];
char szPasswd[HD3_LEN_PASSWORD * HD3_BASE];
char szUserDesc[HD3_LEN_USER_DESC * HD3_BASE];
}HD3SecUser;
// iHyperDB ȨÏÞ¹ÜÀí: ×é
typedef struct {
char szGroupName[HD3_LEN_GROUP_NAME * HD3_BASE];
char szGroupDesc[HD3_LEN_GROUP_DESC * HD3_BASE];
}HD3SecGroup;
// iHyperDB ȨÏÞ¹ÜÀí: ÊÚȨÏî
typedef struct {
char szName[HD3_LEN_AUTH_NAME * HD3_BASE];
char szDesc[HD3_LEN_AUTH_DESC * HD3_BASE];
int32 nAuth;
}HD3SecAuthItem;
// iHyperDB ȨÏÞ¹ÜÀí: ÐÅÈÎ
typedef struct {
char szTrustName[HD3_LEN_TRUST_NAME * HD3_BASE];
HD3_M char szStartIP[HD3_LEN_IP * HD3_BASE];
HD3_M char szEndIP[HD3_LEN_IP * HD3_BASE];
char szUserName[HD3_LEN_USER_NAME * HD3_BASE];
}HD3SecTrust;
// iHyperDB ȨÏÞ¹ÜÀí: °²È«Êý¾Ý¿âÏî:ÈçTagµã¡¢Óû§×éµÈ
typedef struct {
char szOwnGroupName[HD3_LEN_GROUP_NAME * HD3_BASE];
char szOperateGroupName[HD3_LEN_GROUP_NAME * HD3_BASE];
int8 nSecurity;
}HD3SecItem;
// ²É¼¯Æ÷
typedef struct {
uint32 nID;
uint32 nStatusTagID;
enum HD3_COLLECTOR_TYPE nType;
char szName[HD3_LEN_COLLECTOR_NAME * HD3_BASE];
char szDescription[HD3_LEN_COLLECTOR_DESC * HD3_BASE];
char szExtParam[HD3_LEN_COLLECTOR_EXT_PARAM * HD3_BASE];
}HD3Collector;
// É豸
typedef struct {
uint32 nID; /**<Device ID. */
uint32 nCollectorID; /**<Collector ID. */
uint16 nPort;
int32 nTimeout;
uint32 nStatusTagID;
int16 nTryTime;
bool bIsPrimary;
char szName[HD3_LEN_DEVICE_NAME * HD3_BASE];
char szDescription[HD3_LEN_DEVICE_DESC * HD3_BASE];
char szAddr[HD3_LEN_DEVICE_ADDRESS * HD3_BASE];
char szExtParam[HD3_LEN_DEVICE_EXT_PARAM * HD3_BASE];
}HD3Device;
// ɨÃè×é
typedef struct {
uint32 nID; /**<Group ID. */
char szName[HD3_LEN_SCANGROUP_NAME * HD3_BASE];
char szDescrption[HD3_LEN_SCANGROUP_DESC * HD3_BASE];
int32 nPeriod;
int32 nPhase;
enum HD3_SCAN_TYPE nScanType; /**<advise mode or not */
uint32 nDeviceID; /**<Device ID. */
int32 nDataAddr;
int32 nDataLen;
char szExtParam[HD3_LEN_SCANGROUP_EXT_PARAM * HD3_BASE];
}HD3ScanGroup;
// Ðí¿ÉÖ¤ÐÅÏ¢Ïî
typedef struct {
uint32 nTagNumber; //nMaxTagNum
uint32 nClientNumber; //nMaxConNum
char szVCODE[HD3_LEN_LICENSE_OEM_VCODE * HD3_BASE];
uint8 nSupportSPC;
uint8 nSupportZT;
char szTempAlian[2]; //4×Ö½Ú±¶Êý²¹Æë
}HD3LicInfo;
// Êý×ÖÁ¿×´Ì¬¼¯
typedef struct {
char szName[HD3_LEN_DIGITAL_SET_NAME * HD3_BASE];
}HD3DigitalSet;
// Êý¾ÝÁ¿×´Ì¬ÐÅÏ¢
typedef struct {
uint32 nStateID;
char szStateName[HD3_LEN_DIGITAL_SET_STATE_NAME * HD3_BASE];
int32 nStateValue;
}HD3DsStateInfo;
// ²É¼¯Æ÷״̬ÐÅÏ¢
typedef struct {
uint16 nQuality;
int32 nTotalTagNum;
int32 nActiveTagNum;
}HD3CtStatusInfo;
// Tag»ù±¾ÐÅÏ¢
typedef struct {
uint32 nTagID;
char szTagName[HD3_LEN_TAG_NAME * HD3_BASE];
enum HD3_TAG_TYPE nTagType;
enum HD3_TAG_CLASS nTagClass;
} HD3TagBasicInfo;
// ͳ¼ÆÏà¹Ø²ÎÊý
typedef struct {
enum HD3_STATS_TYPE nStatsType; //ͳ¼ÆÀàÐÍ
int32 nTimeRegionNum; //ͳ¼ÆÊ±¼äÇø¼ä¸öÊý£¬×îСֵΪ1£¬×î´óֵΪ128
HD3TimeRegion* pTimeRegions;//ͳ¼ÆÊ±¼äÇø¼ä£¬Ö§³Ö¶à¸öͳ¼ÆÊ±¼äÇø¼ä
float fPercentGood; //ÐÅÈζÈ(GoodµÄÊý¾Ý¸öÊý°Ù·Ö±È´óÓÚ»òµÈÓڸñÈÀýʱÈÏΪ¼ÆËã³öµÄ½á¹ûÊÇ¿ÉÐŵÄ)£¬0-100
enum HD3_STATS_SAMPLE_TYPE nSampleType; //²ÉÑù·½Ê½
char szFilterExpr[HD3_LEN_FILTER_EXPR * HD3_BASE]; //Êý¾Ý¹ýÂ˱í´ïʽ, ´«Èë¿Õ×Ö·û´®±íʾ²»¹ýÂË
enum HD3_STATS_FILTER_FAIL_MODE nFilterFailMode; //¹ýÂ˱í´ïʽִÐÐʧ°Üʱ¶Ô²ÉÑùÊý¾ÝµÄ´¦Àí£¬¹ýÂË»¹ÊDz»¹ýÂË
double dExtParam1; //¼ÆÊýºÍ¼ÆÊ±µÄ²ÎÊý, Öµ±ä»¯µÄ²ÎÊý£¬Çø¼ä±ä»¯µÄµÚÒ»¸ö²ÎÊý£¬ÔÚÇø¼ä²»ÔÚÇø¼äµÄµÚÒ»¸ö²ÎÊýÇø¼äΪ[dExtParam1, dExtParam2]
double dExtParam2; //¼ÆÊýºÍ¼ÆÊ±µÄ²ÎÊý£¬Çø¼ä±ä»¯µÄµÚ¶þ¸ö²ÎÊý£¬ÔÚÇø¼ä²»ÔÚÇø¼äµÄµÚ¶þ¸ö²ÎÊý
int32 nOffset; //²ÉÑùģʽΪ²åֵʱ£¬µÚÒ»¸ö²åÖµµãΪstartTime+nOffset, µ¥Î»ÎªÃë
int32 nPeriod; //²ÉÑùģʽΪ²åֵʱ£¬²åÖµµãµÄ¼ä¸ôΪnPeriod, µ¥Î»ÎªÃë
bool bUseBadValue; //badÖµÊÇ·ñ²ÎÓëͳ¼Æ£¬true±íʾbadÖµ²ÎÓëͳ¼Æ
}HD3StRelatedParam;
// ±ä¸üµÄ±¨¸æ
typedef struct {
uint32 nChangeID;
enum HD3_MODULE_TYPE nModuleType;
uint32 nModuleID;
enum HD3_ALTERATION_ENTRY nEntry; // nChangeCategory
enum HD3_ALTERATION_TYPE nAlterationType;
uint32 nSourceID;
int32 nVersion;
}HD3AlterationReport; //HDChangeHis
// TagµãÑÚÂë
typedef struct {
int64 nCommMask; // ¹«¹²ÊôÐÔµÄÑÚÂë
int64 nExtMask;
}HD3Mask;
// ²éѯ¹ýÂËÏîÊý×é
typedef struct {
int32 nSize;
HD3FilterItem* pItem; // array
}HD3FilterItemSet;
// ²éѯָ¶¨Ò³TagµãµÄ²ÎÊý
typedef struct {
HD3FilterItemSet itemSet;
HD3Mask mask;
uint32 nStartID;
int32 nCapacity;
}HD3PageQueryTagParam;
// iHyperDB½ÚµãÐÅÏ¢£¨ÅäÖýڵ㡢Êý¾Ý½Úµã£©
typedef struct {
uint32 nID;
char szName[HD3_LEN_NODE_NAME * HD3_BASE];
char szDesc[HD3_LEN_NODE_DESC * HD3_BASE];
char szAddress[HD3_LEN_ADDRESS * HD3_BASE];
char szMachineName[HD3_LEN_ADDRESS * HD3_BASE];
uint16 nPort;
char szBakAddress[HD3_LEN_ADDRESS * HD3_BASE];
char szBakMachineName[HD3_LEN_ADDRESS * HD3_BASE];
uint16 nBakPort;
int32 nTagCapacity;
}HD3DataNode;
// ͳ¼ÆÍ¨ÓòÎÊý
typedef struct {
HD3TimeRegion timeRegion;
float fPercentGood;
}HD3StFuncComm;
// APIÁ¬½Ó²ÎÊý
typedef struct {
char szAddress[HD3_LEN_ADDRESS * HD3_BASE];
uint16 nPort;
char szBakAddress[HD3_LEN_ADDRESS * HD3_BASE];
uint16 nBakPort;
int32 nTimeout;
}HD3Connection;
// ¿Í»§¶ËÁ¬½ÓÐÅÏ¢
typedef struct {
uint32 nClientIp;
char szMac[32];
int32 nSocketNum;
SOCKET nSocket[HD3_API_CLIENT_MAX_SOCKET_NUM];
}HD3ClientConnInfo;
// ÍøÂçSOCKETÐÅÏ¢
typedef struct {
SOCKET nSocket;
int32 nConnectTime;
int32 nPackageRecvNum;
int32 nPackageRecvTime;
char szUserName[HD3_LEN_USER_NAME * HD3_BASE];
}HD3SocketNetInfo;
// ½ÚµãÅäÖÃÐÅÏ¢
typedef struct {
int32 nPort; //ÍøÂç¶Ë¿ÚºÅ
int32 nArchFileSizeMB; //µ¥¸ö¹éµµÎļþµÄ´óС
int32 nArchFileNum; //¹éµµÎļþ¸öÊý
int32 nSeqFileSizeMB; //µ¥¸öÐòÁлº´æÎļþµÄ´óС
int32 nSeqCacheFlushPeriodSec; // ÐòÁлº´æË¢ÐÂÆµÂÊ
bool bAutoDisconn; //ÊÇ·ñ×Ô¶¯¶Ï¿ªÎÞÊý¾Ý½»»¥µÄÁ¬½Ó
int32 nAutoDisconnPeriodSec; //×Ô¶¯ÎÞÊý¾Ý½»»¥Á¬½ÓµÄ³¬Ê±Ê±¼ä
bool bSysInfoCollect; //ÊÇ·ñ²É¼¯ÏµÍ³ÐÅÏ¢
int32 nSysInfoCollectPeriodSec; //ϵͳÐÅÏ¢²É¼¯¼ä¸ô
bool bDiscardFutureData; //ÊÇ·ñ¶ªÆú³¬¹ý·þÎñÆ÷ʱ¼ä´ÁµÄδÀ´Êý¾Ý
int32 nDiscardFutureDataTimeDelterSec; //³¬¹ý·þÎñÆ÷ʱ¼ä´ÁµÄʱ¼äÆ«²î
int64 nMachineTimeMs;
char szHDVersion[HD3_LEN_HD_VERSION * HD3_BASE];
}HD3DataNodeCfg;
// ½ÚµãÈßÓà״̬
typedef struct {
char szHostIP[HD3_LEN_ADDRESS* HD3_BASE]; //Ö÷»úIP
char szBackIP[HD3_LEN_ADDRESS* HD3_BASE]; //±¸»úIP
enum HD3_RY_STATUS nHostStatus; //Ö÷»ú״̬
enum HD3_RY_STATUS nBackupStatus; //±¸»ú״̬
}HD3DataNodeStatus;
typedef struct {
uint32 nID; //ack id
uint32 nAlarmTagID; // alarm tag id
uint32 nServerID; //serverid
uint32 nOrginalTagID; //alarm tag orginal tag id
HD3Time alarmTime; //alarm time
HD3Time ackTime; //ack time
uint32 nAckerID; //acker id
char szAcker[HD3_LEN_USER_NAME * HD3_BASE]; //acker
}HD3Ack;
typedef struct {
uint32 nID; //comment id
uint32 nAlarmTagID; // alarm tag id
uint32 nServerID; //serverid
uint32 nOrginalTagID; //alarm tag orginal tag id
HD3Time alarmTime; //alarm time
HD3Time commentTime; //comment time
uint32 nCommentorID; //commentor id
char szCommentor[HD3_LEN_USER_NAME * HD3_BASE]; //commentor
char szComment[HD3_LEN_ALARM_COMMENT * HD3_BASE]; //comment
}HD3Comment;
// ÅäÖýڵãÈßÓà״̬
typedef struct {
char szHostIP[HD3_LEN_ADDRESS* HD3_BASE]; //Ö÷»úIP
char szBackIP[HD3_LEN_ADDRESS* HD3_BASE]; //±¸»úIP
enum HD3_RY_STATUS nHostStatus; //Ö÷»ú״̬
enum HD3_RY_STATUS nBackupStatus; //±¸»ú״̬
}HD3ConfigCenterStatus;
#endif