⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cbcbscinterfacestruct.h

📁 CBS(小区广播)程序实现手稿
💻 H
📖 第 1 页 / 共 2 页
字号:
{
	bool           bFlag;
	unsigned char  cVersion;
    /*
    	release-97 (0),
		reserved-1 (1),
		reserved-2 (2),
		reserved-3 (3),
		reserved-4 (4),
		reserved-5 (5),
		reserved-6 (6)
    */
}VERSION_t;

/* 绝对时间 */
typedef struct
{
	bool           bFlag;
	long           lTime;   
}TIME_t;

/*
   operation element parameter sequence
   操作元素参数序列
*/

/* WriteReplace request  1 */
typedef struct
{
	MESSAGEIDENTIFIER_t  p_MessageIdentifier;
    SERIALNUMBER_t       p_NewSerialnumber;
    NUMBEROFPAGES_t      p_NumberOfPages;
	DATACODINGSCHEME_t   p_DataCodingScheme;

	REPETITIONRATE_t     p_RepetionRate;
	NOOFBROADCASTREQ_t   p_NoOfBroadcastReq;

	SERIALNUMBER_t       p_OldSerialnumber;
	CATEGORY_t           p_Category;
	CHANNELINDICATOR_t   p_ChannelIndicator;
	/* 打包时忽略 */
	TIME_t               p_NewTime;
	TIME_t               p_OldTime;
    /* 和列表有关的参数放在最后 */
	CELLLIST_t           p_CellList;
	CBSPAGEINF_t         p_CbsPageInf;
}WRITEREPLACE_REQUEST_t;

/* KillMessage  2 */
typedef struct
{
    MESSAGEIDENTIFIER_t  p_MessageIdentifier;
    SERIALNUMBER_t       p_OldSerialnumber;
	CHANNELINDICATOR_t   p_ChannelIndicator;
    /* 打包时忽略 */
	TIME_t               p_BeginTime;
    /* 和列表有关的参数放在最后 */
	CELLLIST_t           p_CellList;
}KILLMESSAGE_t;

/* Report-Success  3 */
typedef struct
{
    MESSAGEIDENTIFIER_t      p_MessageIdentifier;
    SERIALNUMBER_t           p_Serialnumber;
	CHANNELINDICATOR_t       p_ChannelIndicator;
    /* 和列表有关的参数放在最后 */
	NOOFBROADCASTSCOMLLIST_t p_NoofBroadcastComlList;
	FAILURELIST_t            p_FailureReportList;
}REPORTSUCCESS_t;

/* Status-CBCH-Query 4 */
typedef struct
{
	CHANNELINDICATOR_t   p_ChannelIndicator;
    /* 和列表有关的参数放在最后 */
	CELLLIST_t           p_CellList;
}STATUSCBCH_REQ_t;

/* Status-CBCH-Resp  5 */
typedef struct
{
	CHANNELINDICATOR_t     p_ChannelIndicator;
    /* 和列表有关的参数放在最后 */
	CBCLOADINGSTATUSList_t p_CbcLoadingStatus;
	FAILURELIST_t            p_FailureList;
}STATUSCBCH_RESP_t;

/* Status-Message-Query 6 */
typedef struct
{
    MESSAGEIDENTIFIER_t      p_MessageIdentifier;
    SERIALNUMBER_t           p_CurrentSerialnumber;

	CHANNELINDICATOR_t       p_ChannelIndicator;
    /* 和列表有关的参数放在最后 */
	CELLLIST_t               p_CellList;
}STATUSMESSAGE_QUERY_t;

/* Status-Message-Resp     7 */
typedef struct
{
    MESSAGEIDENTIFIER_t      p_MessageIdentifier;
    SERIALNUMBER_t           p_OldSerialnumber;
	CHANNELINDICATOR_t       p_ChannelIndicator;
    /* 和列表有关的参数放在最后 */
	NOOFBROADCASTSCOMLLIST_t p_NoOfBroadcastComlList;
	FAILURELIST_t            p_FailureList;
}STATUSMESSAGE_RESP_t;

/* Report-Failure       8 */
typedef struct
{
	FAILUREREASON_t          p_FailureReason;
    DIAGNOSTIC_t             p_Diagnostic;
    MESSAGEIDENTIFIER_t      p_MessageIdentifier;
    SERIALNUMBER_t           p_OldSerialnumber;
}REPORTFAILURE_t;

/* BSC-Restart          9 */
typedef struct
{
    RECOVERYINDICATION_t     p_RecoveryIndication;	
    /* 和列表有关的参数放在最后 */
	CELLLIST_t               p_CellList;
}BSCRESTART_t;

/* Reset                10 */
typedef struct
{
	CELLLIST_t               p_CellList;
}RESET_t;

/* Failure-Ind          11 */
typedef struct
{
	CELLLIST_t               p_CellList;
}FAILUREIND_t;

/* SET_DRX                 12 */
typedef struct
{
	SCHEDULEPERIOD_t         p_SchedulePeriod;
	RESERVEDSLOTS_t          p_ReservedSlots;
	CHANNELINDICATOR_t       p_ChannelIndicator;
    /* 和列表有关的参数放在最后 */
	CELLLIST_t               p_CellList;
}SET_DRX_t;

/* SET_DRX_REPORT          13 */
typedef struct
{
	CHANNELINDICATOR_t       p_ChannelIndicator;
    /* 和列表有关的参数放在最后 */
	CELLLIST_t               p_CellList;
	FAILURELIST_t            p_FailureList;
}SET_DRX_REPORT_t;

//cbse_VBIND              14
typedef struct
{
	NAME_t                  p_Name;
	PASSWORD_t              p_PassWord;
    VERSION_t               p_Version;
	char                    BSCIdentifier[BSC_INDENTIFIER_LEN];
}VBIND_t;

//cbse_BIND_CONFIRM       15
typedef struct
{
	NAME_t                  p_Name;
	PASSWORD_t              p_PassWord;
}BINDCONFIRM_t;

//cbse_BIND_FAILURE       16
typedef struct
{
	bool                    bFlag;
	unsigned char           p_ConnectFailureReason;
}BINDFAILURE_t;

//CBSE-UNBIND             17
typedef struct
{
	bool                    bFlag;
}UNBIND_t;




/*
  系统参数结构 

*/

typedef struct
{
	CELLID_t        s_CellId; 
	char            cRoute[4];
}CELLROUTE_t;

//配置参数
typedef struct
{

	//小区路由表
	CELLROUTE_t     s_CellRouter[MAXCELLCOUNT];
	//广播的最大时间(对于设定结束时间的短消息)
    int                MaxTime;
	//最大次数
    int                MaxCount; 
	//最大速率
	int                MaxRate;
	//.......
}CBCSYSOPTION_t;

/*
typedef struct
{
	CELLID_t        s_CellId; 
	unsigned char   cSTATUS;
    int             cFailureCount; 
	int             cResetCount;
}CELLSTATUS_t;

typedef struct
{
	int             cSuccess;
	int             cFailure;
}OPERATECOUNT_t;
*/

/* 运行时参数 */
typedef struct
{
	/* 和CBCProxy连接的SocketHandle */
	int CBCProxySocketHandle;
	
	/*和CBCProxy连接的状态,保证一个连接 */
	unsigned char CBCProxyConnectStatus;
	
	/* 小区的状态,系统应能记录网络内各小区广播失败的次数及重新复位的次数 */
//	CELLSTATUS_t    s_CellStatus[MAXCELLCOUNT];
	
	/* 频道计数器,用于分配序列号 */
	unsigned short	ChannelCount[65536];

	/* 该频道的序列号是否分配完 */
	unsigned char   ifChannelSerialNumberLoop[65536];
	
	/* 操作计数器,统计各类操作的次数 */
//	OPERATECOUNT_t  s_OperateCount[256];
	
	/* 小区负荷控制标志 0:关闭,1:开启*/
	unsigned char   bCellLoadingControl;

	/* 最大预定相对时间(秒) */
	int iMaxRelativeTime;
	
	/* 逻辑进程个数 */
	int iProcessCount;

	/* 定时器个数 */
	int iTimerCount;

	/* 统计进程的个数 */
	int iStatisticPidCount;

	/* 观察的个数 */
	unsigned char cNumberOfWatch;  

}RUNTIMEINFO_t;

/*
typedef struct
{
	//Bsc标志
	char  cBSC[4];
	MESSAGEIDENTIFIER_t      p_MessageIdentifier;
    SERIALNUMBER_t           p_Serialnumber;
	NOOFBROADCASTSCOMLLIST_t p_NoofBroadcastComlList;
	FAILUREREPORTLIST_t      p_FailureReportList;
	CHANNELINDICATOR_t       p_ChannelIndicator;
	CBCLOADINGSTATUSList_t   p_CBCLOADINGSTATUSList;
	CELLLIST_t               p_CELLLIST; 
	RECOVERYINDICATION_t     p_RECOVERYINDICATION;
	NAME_t                   p_Name;
	PASSWORD_t               p_PassWord;
	BINDFAILURE_t            p_BindFailure;
}CBC_BSC_UNPACK_t;
*/

typedef struct
{
	//Bsc标志
	char  cBSC[BSC_INDENTIFIER_LEN];
	MESSAGEIDENTIFIER_t      p_MessageIdentifier;
    SERIALNUMBER_t           p_Serialnumber;
	NOOFBROADCASTSCOMLLIST_t p_NoofBroadcastComlList;
	FAILURELIST_t            p_FailureReportList;
	CHANNELINDICATOR_t       p_ChannelIndicator;
	CBCLOADINGSTATUSList_t   p_CBCLOADINGSTATUSList;
	CELLLIST_t               p_CELLLIST; 
	CELLLIST_t               p_UplinkCellList;  
	RECOVERYINDICATION_t     p_RECOVERYINDICATION;
	NAME_t                   p_Name;
	PASSWORD_t               p_PassWord;
	NUMBEROFPAGES_t          p_NoOfPages;
	DATACODINGSCHEME_t       p_DataCodingScheme;
	REPETITIONRATE_t         p_RepetitionRate;
	NOOFBROADCASTREQ_t       p_NoOfBroadcastReq;
	CBSPAGEINF_t             p_CBSPageINF; 
	SERIALNUMBER_t           p_OldSerialNumber;
	CATEGORY_t               p_Category; 
	FAILUREREASON_t          p_FailuerReason;
	DIAGNOSTIC_t             p_Diagnostic;
	SEQUENCEOFCELL_t         p_SequenceOfCell;
	BINDCONFIRM_t            p_BindConfirm;
	BINDFAILURE_t            p_BindFailure;
	UNBIND_t                 p_Unbind; 
}CBC_BSC_UNPACK_t;




//-------------------------------
//以下为小区路由有关的结构
//---------------------------------
/* 为一个BSC的定义的小区列表 */
typedef struct
{
	bool           bFlag;
	unsigned short iLength; 
    char           cCellIdDisc;
	CELLID_t       s_CellList[MAX_BSC_CELL_COUNT];
}CELLLIST_FOR_ONE_BSC_t;

/* 和一个BSC有关的小区列表 */
typedef struct
{
	unsigned char            BSCIdentifier[BSC_INDENTIFIER_LEN];
	CELLLIST_FOR_ONE_BSC_t   s_CellList;      	
}CELLLIST_OF_BSC_t;


//拆分小区列表数据区
typedef struct
{
	//小区列表的个数
	unsigned char cNumberOfCellList;
	//小区识别器统一用2,CellID only
	CELLLIST_OF_BSC_t s_CellListOfBSC[MAX_BSC_CONNECT];
	//失败小区列表
	FAILURELIST_t    s_FailureList;      		
}DIVIDE_CELLLIST_BUF_t;




⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -