📄 statistic.h
字号:
#include "..\sys\Include.h"
/* 统计业务的类型 */
typedef enum
{
WRITE_STATISTIC =1, /* 写入 */
REPLACE_STATISTIC =2, /* 替换 */
KILL_STATISTIC =3, /* 删除 */
QUERY_STATISTIC =4, /* 消息状态查询查询 */
CBCH_STATISTIC =5, /* 小区信道负荷查询 */
RESET_STATISTIC =6 /* 小区重启 */
}STATISTIC_TYPE_e;
/* 统计类别 */
typedef enum
{
STATISTIC_CBSE =1, /* 服务元素的统计 */
STATISTIC_RESET_AND_FAIL =2, /* 统计小区广播失败和重新复位的次数 */
// STATISTIC_WARNING =4, /* 告警的统计 */
STATISTIC_X25 =3 /* X25链路统计 */
}STATISTIC_CATEGORY_e;
/* 服务元素的统计的标志 */
typedef enum
{
CBCPROXY_CBSE_CNT =1, /* CBCProxy业务请求次数 */
BSC_CBSE_CNT =2, /* 对各个BSC业务请求次数 */
CELL_CBSE_CNT =3 /* 小区服务元素的统计,包括成功和失败 */
}STATISTIC_CBSE_ID_e;
/* 统计小区广播失败和重新复位的次数的标志 */
typedef enum
{
ALL_CELLOFCBC_RESETANDFAIL_CNT =1, /* CBC支持的所有小区 */
ALL_CELLOFBSC_RESETANDFAIL_CNT =2, /* BSC的小区 */
CELL_RESETANDFAIL_CNT =3 /* 小区 */
}STATISTIC_RESET_AND_FAIL_ID_e;
/* X25链路统计的标志 */
typedef enum
{
X25PACK_CNT =1, /* x.25包层通信统计 */
X25LINK_CNT =2 /* x.25链路层通信统计 */
}STATISTIC_X25_ID_e;
typedef struct
{
int iCbseType;
int iCbseTimes;
}CBSE_REQUEST_TIMES_t;
typedef struct
{
int iCellReset;
}CELL_RESET_t;
typedef struct
{
unsigned int iCBCProxyWriteReqCnt;
unsigned int iCBCProxyReplaceReqCnt;
unsigned int iCBCProxyKillReqCnt;
unsigned int iCBCProxyCBCHReqCnt;
unsigned int iCBCProxyMsgQueryCnt;
unsigned int iCBCProxyResetCnt;
// unsigned int iCBCProxySetDrxCnt;
}CBSE_REQUEST_COUNT_t;
typedef struct
{
unsigned int s_AlarmCode[4];
}WARNING_COUNT_t;
/*
* 统计CBC收到的各种业务的请求,
* 统计对个BSC进行的各种业务的请求
* 告警统计
* 的计数器结构
*/
typedef struct
{
CBSE_REQUEST_COUNT_t s_CbcProxyReqCnt;
CBSE_REQUEST_COUNT_t s_ReqBSCCnt[MAX_BSC_CONNECT];
WARNING_COUNT_t AlarmType[3];
}COUNT_t;
/* Message_Statistic_Request */
typedef struct
{
unsigned short ilen; /* 包长度 */
MESSAGE_HEAD_t s_StatMessageHead; /* 统计消息头 */
unsigned char StatSerialId[5]; /* 统计消息识别标志 */
unsigned char StatCounter; /* 统计的次数 */
unsigned short StatTimeLength; /* 每次统计的时长 */
unsigned char ParaCategory; /* 统计类别 */
unsigned char ParaId; /* 统计消息标志 */
unsigned char BSCIdentifier[BSC_INDENTIFIER_LEN]; /* BSCID */
unsigned char cCellId[4]; /* 小区ID */
}MESSAGE_STATISTIC_t;
/* Message_Statistic_Result */
typedef struct
{
MESSAGE_HEAD_t s_StatMessageHead; /* 统计消息头 */
unsigned char StatSerialId[5]; /* 统计消息识别标志 */
unsigned char StatCounter; /* 统计的次数 */
unsigned short StatTimeLength; /* 每次统计的时长 */
unsigned char ParaCategory; /* 统计类别 */
unsigned char ParaId; /* 统计消息标志 */
unsigned char BSCIdentifier[BSC_INDENTIFIER_LEN]; /* BSCID */
unsigned char cCellId[4]; /* 小区ID */
// unsigned char ParaStatCounter; /* 统计结果 */
}MESSAGE_STATISTIC_RESULT_t;
/* X25_Statistic_Request */
typedef struct
{
unsigned short ilen; /* 包长度 */
MESSAGE_HEAD_t s_StatMessageHead; /* 统计消息头 */
unsigned char StatSerialId[5]; /* 统计消息识别标志 */
unsigned char StatCounter; /* 统计的次数 */
unsigned short StatTimeLength; /* 每次统计的时长 */
unsigned char ParaCategory; /* 统计类别 */
unsigned char ParaId; /* 统计消息标志 */
unsigned char BSCIdentifier[BSC_INDENTIFIER_LEN]; /* BSCID */
unsigned int IfUplink; /* 是否为下行链路0:下行,1上行 */
}X25_STATISTIC_t;
/* X25_Statistic_Result */
typedef struct
{
MESSAGE_HEAD_t s_StatMessageHead; /* 统计消息头 */
unsigned char StatSerialId[5]; /* 统计消息识别标志 */
unsigned char StatCounter; /* 统计的次数 */
unsigned short StatTimeLength; /* 每次统计的时长 */
unsigned char ParaCategory; /* 统计类别 */
unsigned char ParaId; /* 统计消息标志 */
unsigned char BSCIdentifier[BSC_INDENTIFIER_LEN]; /* BSCID */
unsigned int IfUplink; /* 是否为下行链路0:下行,1上行 */
// unsigned char ParaStatCounter; /* 统计结果 */
}X25_STATISTIC_RESULT_t;
/* Message_Statistic_cancel */
typedef struct
{
unsigned short ilen; /* 包长度 */
MESSAGE_HEAD_t s_StatMessageHead; /* 统计消息头 */
unsigned char StatSerialId[5]; /* 统计消息识别标志 */
}MESSAGE_STATISTIC_CANCEL_t;
typedef struct
{
unsigned char cStatisticType;
int iCount;
}STATTYPE_COUNT_t;
typedef struct
{
unsigned char cNumber; /* 业务个数 */
STATTYPE_COUNT_t s_StattypeCount[20]; /* 业务操作完成次数 */
}CBSE_STATISTIC_RESULT_t;
typedef struct
{
unsigned char cStatisticType;
unsigned int iSendCount; /* 发送总数 */
unsigned int iSuccessCount; /* 成功总数 */
unsigned int ibsscapErr; /* 基站系统负荷超载 */
unsigned int icellmemErr; /* 小区内存溢出 */
unsigned int ibssmemErr; /* 基站系统内存溢出 */
unsigned int iotherErr; /* 其他错误 */
}CELL_STATTYPE_COUNT_t;
/* 小区统计返回结果 */
typedef struct
{
unsigned char cNumber; /* 业务个数 */
CELL_STATTYPE_COUNT_t s_StattypeCount[20]; /* 小区业务操作完成次数 */
}CELL_CBSE_STATISTIC_RESULT_t;
/* 小区重启和失败统计 */
typedef struct
{
unsigned int iFailureCount; /* 小区失败的次数 */
unsigned int icResetCount; /* 小区复位的次数 */
}CELL_RESETFAIL_COUNT_t;
//typedef struct
//{
// unsigned char cCell[4];
// unsigned int iFailureCount; /* 小区失败的次数 */
// unsigned int icResetCount; /* 小区复位的次数 */
//}CELL_RESET_AND_FAIL_COUNT_t;
/* 小区重启和失败统计返回结果 */
//typedef struct
//{
// unsigned char cNumber; /* 小区个数 */
// CELL_RESET_AND_FAIL_COUNT_t s_CellResetAndFailCnt[MAX_BSC_CELL_COUNT];
//}CELL_RESET_AND_FAIL_STAT_RESULT_t;
typedef struct
{
unsigned char cAlarmCode;
unsigned char cAlarmType;
unsigned int iCount;
}ONETYPE_WARNING_STATISTIC_t;
/* 告警统计返回结果 */
typedef struct
{
unsigned char cNumber;
ONETYPE_WARNING_STATISTIC_t s_AKindOfWarningStat[30];
}WARNING_STATISTIC_RESULT_t;
/* 观察返回结果 */
typedef struct
{
unsigned short iLen;
MESSAGE_HEAD_t s_MessageHead;
unsigned short iWatchID;
int iPidCount;
int iTimerCount;
}WATCH_RESULT_t;
/*
* 修改小区统计次数
* in:
* LPCellId 小区识别号
* iBscPosi BSC小区信息数组下标
* StatisticType 统计类型:1.write, 2.replace,3.Kill,4.Query 5.CBCH,
* mode 0.增加发送次数,1.增加成功次数,2增加失败次数
* Errortype 如果mode=2,FailureReason为失败原因,其余情况忽略.
*/
extern void Update_Cell_Statistic_Count(char *LPCellId,int iBscPosi,int StatisticType ,int mode ,int FailureReason);
/* 处理统计定时器到时
* 返回
* END 结束进程
* CONTINUANCE 继续
*/
extern int Process_Statistic_timer_Expired(PID_t s_Pid);
/* 处理统计请求
* <0:返回错误, >=0:返回Pid
*/
extern int Process_Statistic_request(CBEMESSAGE_t *LpCBEMessage);
/* 统计取消
* 返回 1 成功
* <0 失败
*/
extern int Process_Statistic_cancel(CBEMESSAGE_t *LPs_CBEMessage);
/* 观察系统资源 */
extern int Process_Watch_Sysrsc(CBEMESSAGE_t *LPs_CBEMessage);
/* 停止观察系统资源
* 取消定时器,释放观察进程
* 返回:
* >0 成功
* <0 失败
*/
extern int Process_Stop_Watch_Sysrsc(CBEMESSAGE_t *LPs_CBEMessage);
/* 观察定时器到时 */
extern int Process_Watch_timer_Expired(PID_t s_Pid);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -