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

📄 cbcbscinterfacestruct.h

📁 CBS(小区广播)程序实现手稿
💻 H
📖 第 1 页 / 共 2 页
字号:

#define   bool          unsigned char
/* operation element define */

typedef enum
{
	CBSE_WRITE_REPLACE          =0xa1,/* Write_Replace, */
    CBSE_KILL_MESSAGE           =0xa2,/* Kill_Message, */
    CBSE_REPORT_SUCCESS         =0xa3,/* Report_Success, */
    CBSE_STATUS_CBCH_QUERY      =0xa4,/* Status_CBCH, */
    CBSE_STATUS_CBCH_QUERY_RESP =0xa5,/* Status_CBCH_Resp, */
    CBSE_STATUS_MESSAGE_QUERY   =0xa6,/* Status_Message, */
    CBSE_STATUS_MESS_QUERY_RESP =0xa7,/* Status_Mess_Resp, */
    CBSE_REJECT_RESPONSE        =0xa8,/* Report_Failure, */
    CBSE_BSC_RESTART            =0xa9,/* BSC_Restart, */
    CBSE_RESET                  =0xaa,/* Reset, */
    CBSE_FAILURE_IND            =0xab,/* Failure_Ind, */
    CBSE_SET_DRX                =0xac,
    CBSE_SET_DRX_REPORT         =0xad,
	CBSE_VBIND					=0xae,/* CBSE-VBIND-Parameters, */
    CBSE_BIND_CONFIRM	        =0xaf,/* CBSE-BIND-CONFIRM-Parameters, */
	CBSE_BIND_FAILURE       	=0xb0,/* CBSE-BIND-FAILURE, */
	CBSE_UNBIND					=0xb1 /* CBSE-UNBIND, */
}CELLBROADCAST_SERVICE_ELEMENT_e;

/* 从CBC_Proxy来的操作元素定义 */
typedef enum
{
	CBCPROXY_WRITE_REPLACE          =0x1,// Write_Replace,
    CBCPROXY_KILL_MESSAGE           =0x2,// Kill_Message,

    CBCPROXY_STATUS_CBCH_QUERY      =0x4,// Status_CBCH,
    CBCPROXY_STATUS_CBCH_QUERY_RESP =0x5,// Status_CBCH_Resp,
    CBCPROXY_STATUS_MESSAGE_QUERY   =0x6,// Status_Message,
    CBCPROXY_STATUS_MESS_QUERY_RESP =0x7,// Status_Mess_Resp,
    CBCPROXY_REJECT_RESPONSE        =0x8,// Report_Failure,
    CBCPROXY_BSC_RESTART            =0x9,// BSC_Restart,
    CBCPROXY_RESET                  =0xa,// Reset,
    CBCPROXY_FAILURE_IND            =0xb,// Failure_Ind,
    CBCPROXY_SET_DRX                =0xc,// SetDRX
    CBCPROXY_SET_DRX_REPORT         =0xd,// SetDRX_Report 
	CBCPROXY_VBIND					=0xe,// VBIND-Parameters,
    CBCPROXY_BIND_CONFIRM	        =0xf,//	BIND-CONFIRM-Parameters,
	CBCPROXY_BIND_FAILURE       	=0x10,//BIND-FAILURE,
	CBCPROXY_UNBIND					=0x11,// UNBIND,

	CBCPROXY_REPORT_WRITE           =31,/* 写入消息报告 */ 
	CBCPROXY_REPORT_REPLACE         =32,/* 替换操作的报告 */  
    CBCPROXY_REPORT_KILL            =33,/* 删除操作的报告 */  


}CELLBROADCAST_PROXY_SERVICE_ELEMENT_e;


typedef enum
{
	NEW_WRITE_MESSAGE               =1, //新加一条消息
    NEW_SCHEDUAL_MESSAGE            =2, //预约一条消息
	UPDATE_ALREADY_SEND_MESSAGE     =3, //修改已发送消息 
	UPDATA_SCHEDUAL_TIME            =4, //修改预约发送时间和消息
	UPDATA_PENDING_SEND_MESSAGE     =5  //修改预约发送消息
}WRITEREPLACE_OPERATER_TYPE_e;


//Failure_Reason 
typedef enum
{
	PARAMETER_NOT_RECONGNIZED        =0,
    PERMANENT_FAILURE                =1, 
    PARARMETER_VALUE_INVALID         =2,
    VALID_CBS_MESSAGE_NOT_IDENTIFIED =3,
    CELL_IDENTIFIED_NOT_VALID        =4,
    UNRECOGNIZED_MESSAGE             =5,
    MISSING_MANDATORY_ELEMENT        =6,
    BSS_CAPACITY_EXCEEDED            =7,  /* 基站系统负荷超载 */
    CELL_MEMORY_EXCEEDED             =8,  /* 小区内存溢出     */
    BSS_MEMORY_EXCEEDED              =9,  /*基站系统内存溢出  */  
    UNSPECIFIED_ERROR                =10,
    INCOMPATIBLE_DRX_PARAMETER       =11,
	UNKNOW_STATUS                    =20,  /* BSC暂时没响应,内部定义 */
	CELL_SUCCESS                     =21,  /* 小区成功 */   
	TEMP_FAILURE                     =22   /* 暂时失败 */
}FAILURE_REASON_e;

/* Cell-Id-Disc type */
typedef enum
{
	LAC_AND_CI               =1,/* 2字节区域码加2字节小区识别号 */
	CI_ONLY                  =2,/* 只填小区码 */ 
	LAC_ONLY                 =5,/* 仅有2字节区域码,表示在此区域的所有小区 */
	ALL_CELLS                =6 /* 在该BSS中的所有小区 */
}CELL_ID_DISC_TYPE_e;

//Category type
typedef enum
{
	HIGH_PRIORITY           =0,  /* 高优先级 */
    NORMAL_PRIORITY         =1,  /* 普通优先级 */
    BACKGROUND              =2   /* 后台发送方式 */
}CATEGORY_TYPE_e;



//Parameter define
#define  MESSAGEIDENTIFER               0x00 
#define  SERIALNUMBER                   0x01   
#define  NOOFBROADCASTSCOMPLLIST        0xa0
#define  FAILURELIST                    0xa1
#define  CHANNELINDICATOR               0x84    

//max cell count
//If the value exceeds 256, length type(unsigned char) will be changed. 
#define MAXCELLCOUNT                     256    
#define MESSAGE_INFO_PAGE_LEN            82
#define MESSAGE_INFO_PAGE_COUNT          15
#define DIAGNOSTIC_INFO_LEN              20  


//1
typedef struct
{
	bool           bFlag;
	unsigned short iMessageIdentifier;
}MESSAGEIDENTIFIER_t;

//2
typedef struct
{
	bool           bFlag;
	unsigned short iSerialNumber;
}SERIALNUMBER_t;

//3
typedef struct
{
	bool           bFlag;
	unsigned char  cNumberOfPages;
}NUMBEROFPAGES_t;

//4
typedef struct
{
	bool           bFlag;
	unsigned char  cDataCodingScheme;
}DATACODINGSCHEME_t;

//5
typedef struct
{
	bool           bFlag;
	unsigned short iRepetitionRate;
}REPETITIONRATE_t;

//6
typedef struct
{
	bool           bFlag;
	unsigned short iNumberOfBroadcastReq;
}NOOFBROADCASTREQ_t;



//8
typedef struct
{
	bool           bFlag;
	unsigned char  cCategory;
}CATEGORY_t;

//9
typedef struct
{
	bool           bFlag;
	unsigned char  cChannelIndicator;
}CHANNELINDICATOR_t;


typedef struct
{
	unsigned char  cCellId[4];
}CELLID_t;

//10
typedef struct
{
	bool           bFlag;
	unsigned short iLength; 
    char           cCellIdDisc;
	CELLID_t       s_CellList[MAXCELLCOUNT];
}CELLLIST_t;

//
typedef struct
{
	unsigned char  cMessageInfoUsefulOctets;
    char           cMessageInfoPage[MESSAGE_INFO_PAGE_LEN] ;
}PAGEINF_t;

//11
typedef struct
{
	bool           bFlag;
    unsigned char  cLength;
	PAGEINF_t      s_CbsPageInf[MESSAGE_INFO_PAGE_COUNT];
}CBSPAGEINF_t;

typedef struct
{
	char           cCellIdDisc;
	unsigned char  cCellId[4];
}CELL_t;

typedef struct
{
	CELL_t          s_Cellid;
	unsigned short  iNoOfBroadcastsCompl; 
	unsigned char   cNoOfBroadcastsComplType;
}NOOFBROADCASTSCOML_t;


typedef struct
{
	bool            bFlag;
    unsigned short  ilength; 
	NOOFBROADCASTSCOML_t s_NoOfBroadcastComl[MAXCELLCOUNT];
}NOOFBROADCASTSCOMLLIST_t;

//
typedef struct
{
    bool            bFlag;
	unsigned char   cCause;
}FAILUREREASON_t;

typedef struct
{
    bool            bFlag;
    char            cDiagnostic[DIAGNOSTIC_INFO_LEN];
}DIAGNOSTIC_t;

//
typedef struct
{
	CELL_t          s_Cellid;
    unsigned char   cCause;
    char            cDiagnostic[DIAGNOSTIC_INFO_LEN];
}FAILUREREPORT_t;

typedef struct
{
	bool            bFlag;
	unsigned short  iLength; 
	FAILUREREPORT_t s_FailureReason[MAXCELLCOUNT];
}FAILURELIST_t;

typedef struct
{
	CELL_t          s_Cellid; 
    unsigned char   cCbcLoading;
/*	
信道负荷						::= 整数(0..100)
--							注:信道负荷是用百分比的形式表明预计的短期内的负载

*/
}CBCLOADINGSTATUS_t;


typedef struct
{
	bool             bFlag;
	unsigned short   iLength; 
    CBCLOADINGSTATUS_t  s_CbcLoadingStatus[MAXCELLCOUNT];
}CBCLOADINGSTATUSList_t;

typedef struct
{
	bool            bFlag;
	bool            bRecoveryIndicator;
}RECOVERYINDICATION_t;

typedef struct
{
	bool            bFlag;
	unsigned char   cSchedulePeriod;
}SCHEDULEPERIOD_t;


typedef struct
{
	bool            bFlag;
	unsigned char   cReservedSlots;
}RESERVEDSLOTS_t;

//小区的序列
typedef struct
{
	bool            bflag;
	unsigned short  iLength;
	CELL_t          s_Cell[MAXCELLCOUNT];  
}SEQUENCEOFCELL_t;



/*
有关邦定的参数
*/
//operate
typedef struct
{
	bool           bFlag;
	unsigned char  clength;
	char           cOperator[20];
}OPERATOR_t;

//BilateralAgreem
typedef struct
{
	bool           bFlag;
	unsigned char  clength;
	char           cBilateralAgreem[20];
}BILATERALAGREEM_t;

//Xl2lAddress
typedef struct
{
	bool           bFlag;
	unsigned char  clength;
	char           cXl2lAddress[15];
}X121ADDRESS_t;

//CBS-Address
typedef struct
{
	bool           bFlag;
	unsigned char  cAddressType;
	unsigned char  cNumberingPlan;
    unsigned char  cAddressLen; 
	char           cAddressValue[20];
}CBSADDRESS_t;

//Name
typedef struct
{
	bool               bFlag;
	OPERATOR_t         s_Operate;
	BILATERALAGREEM_t  s_BilateralAgreem; 
	X121ADDRESS_t      s_DataNetWorkAddress;
	CBSADDRESS_t       s_CBSAddress;
}NAME_t;

//Password
typedef struct
{
	bool           bFlag;
	unsigned char  clength;
	char           cPassword[20];
}PASSWORD_t;

//Version
typedef struct

⌨️ 快捷键说明

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