?? datadef.h
字號:
////////////////////////////////////////////////////////////////////////////////////
//文件名: DataDef.h
//功能: 平臺通信接口模塊的數據類型定義
////////////////////////////////////////////////////////////////////////////////////
#ifndef _DATA_DEF_H_
#define _DATA_DEF_H_
#pragma pack (1)
///配置文件的信息SMSCINFO結構
struct STRUCT_APPLOGIN_INFO
{
char szAppName[16];
char szPassword[16];
WORD wAppID;
STRUCT_APPLOGIN_INFO()
{
ZeroMemory(this,sizeof(STRUCT_APPLOGIN_INFO));
}
};
//系統模塊連接參數配置[CLIENTINFO]
struct STRUCT_SERVER_INFO
{
char szIP[50];//平臺IP
short nPort; //平臺開放的端口
STRUCT_SERVER_INFO()
{
ZeroMemory(this,sizeof(STRUCT_SERVER_INFO));
}
};
//應用屬性
typedef struct tagSTRUCT_APP_INFO
{
char szAppName[16]; //應用名稱
char szPwd[16]; //密碼
WORD wAppID; //APP ID
char szService_ID[10]; //Service ID
unsigned short nPacket; //應用包頭
}STRUCT_APP_INFO;
////////////////////////////////////////////////////////////////////////////////////////////
//CMPP命令數據結構定義
//CMPP協議版本號:CMPP1.2 (2001.06.12)
//消息頭結構
struct STRUCT_CMPP12_MSG_HEADER
{
DWORD dwTotal_Length; //4消息總長度
DWORD dwCommand_ID; //4命令或響應類型
DWORD dwSequence_ID; //4消息流水號
STRUCT_CMPP12_MSG_HEADER()
{
ZeroMemory(this,sizeof(STRUCT_CMPP12_MSG_HEADER));
}
};
//短信提交數據包結構
struct STRUCT_CMPP12_SUBMIT
{
STRUCT_CMPP12_MSG_HEADER sHeader; //CMPP12包頭
__int64 n64Msg_ID; //信息標識
BYTE cPk_total; //1相同Msg_ID的消息總數
BYTE cPk_number; //1相同Msg_ID的消息序號
BYTE cRegistered_Delivery; //1是否返回確認狀態報告
BYTE cMsg_Level; //1消息優先級別
char szService_ID[10]; //業務類型
BYTE cFee_UserType; //計費用戶類型
char szFee_terminal_ID[21]; //被計費用戶號碼
BYTE cTP_pid; //GSM協議類型,GSM3.40中的9.2.3.9
BYTE cTP_udhi; //GSM協議類型,GSM3.40中的9.2.3.23
BYTE cMsg_Fmt; //1消息格式
char szMsg_src[6]; //信息內容來源
char szFeeType[2]; //資費類別
char szFeeCode[6]; //資費代碼
char szValid_Time[17]; //存活有效期
char szAt_Time[17]; //定時發送時間
char szSrc_terminal_id[21]; //源終端MSISDN號碼
BYTE cDestUsr_tl; //1接受消息的用戶數量(<100)
char szDest_terminal_ids[21]; //接受業務的MSISDN號碼
//以下兩個字段不是標準CMPP12協議,由森泰克平臺小組共同協商更改
WORD wMsg_Length; //消息長度(<512個字節)
char szMsg_Content[512]; //消息內容
char szReserve[8]; //保留
STRUCT_CMPP12_SUBMIT()
{
ZeroMemory(this,sizeof(STRUCT_CMPP12_SUBMIT));
}
};
//提交短信回應消息包結構
struct STRUCT_CMPP12_SUBMIT_REP
{
STRUCT_CMPP12_MSG_HEADER sHeader; //12數據包頭
__int64 Msg_ID; //8消息標識
unsigned char Result; //1結果
STRUCT_CMPP12_SUBMIT_REP()
{
ZeroMemory(this,sizeof(STRUCT_CMPP12_SUBMIT_REP));
}
};
//網關下發短消息數據包結構
struct STRUCT_CMPP12_DELIVERY
{
STRUCT_CMPP12_MSG_HEADER sHeader; //CMPP12包頭
__int64 n64Msg_ID; //信息標識
char szDestinationID[21]; //消息標識
char szService_ID[10]; //service id
BYTE cTP_Pid; //GSM協議類型,GSM3.40中的9.2.3.9
BYTE cTP_Udhi; //GSM協議類型,GSM3.40中的9.2.3.23
BYTE cMsg_Fmt; //1消息格式
char szSrc_terminalID[21]; //源終端MSISDN號碼
BYTE cRegistered_Delivery; //1是否返回確認狀態報告
//以下兩個字段不是標準CMPP12協議,由森泰克平臺小組共同協商更改
WORD wMsg_Length; //1消息長度
char Msg_Content[512]; //消息內容
char Reserve[8]; //保留
STRUCT_CMPP12_DELIVERY()
{
ZeroMemory(this,sizeof(STRUCT_CMPP12_DELIVERY));
}
};
//回應網管下發短消息結構
typedef struct STRUCT_CMPP12_DELIVER_REPTag
{
STRUCT_CMPP12_MSG_HEADER sHeader; //數據包頭
__int64 Msg_ID; //8消息標識
unsigned char Result; //1結果 0:正確
}STRUCT_CMPP12_DELIVER_REP;
//連接數據包結構
struct STRUCT_CMPP12_CONNECT
{
STRUCT_CMPP12_MSG_HEADER sHeader; //數據包頭
char Source_Addr[6]; //ICP_ID;
char AuthenticatorICP[16]; //ICP 認證碼;
unsigned char Version; //雙方協商的版本號
DWORD Timestamp; //時間戳的明文,由客戶端產生,格式為MMDDHHMMSS,即月日時分秒,10位,右對齊
STRUCT_CMPP12_CONNECT()
{
ZeroMemory(this,sizeof(STRUCT_CMPP12_CONNECT));
}
};
//連接回應數據包結構
struct STRUCT_CMPP12_CONNECT_REP
{
STRUCT_CMPP12_MSG_HEADER sHeader; //數據包頭
unsigned char Status; //1字節Integer狀態
char AuthenticatorISMG[16];//ISMG認證碼
unsigned char Version; //服務器支持的最高版本號
STRUCT_CMPP12_CONNECT_REP()
{
ZeroMemory(this,sizeof(STRUCT_CMPP12_CONNECT_REP));
}
};
//短信查詢消息結構
typedef struct STRUCT_CMPP12_QUERYTag
{
STRUCT_CMPP12_MSG_HEADER sHeader; //數據包頭
char Time[8]; //時間(精確到日)
unsigned char Query_Type; //1查詢類型
char Query_Code[10]; //查詢碼(業務類型)
char Reserve[8]; //保留
}STRUCT_CMPP12_QUERY;
//短信查詢回應消息結構(短信查詢結果)
typedef struct STRUCT_CMPP12_QUERY_REPTag
{
STRUCT_CMPP12_MSG_HEADER sHeader; //數據包頭
char Time[8]; //時間(精確到日)
unsigned char Query_Type; //1查詢類別 0:總數查詢1:按業務代碼查詢
char Query_Code[10]; //查詢碼(業務類型)
unsigned long MT_TlMsg; //4從SP接收信息總數
unsigned long MT_Tlusr; //4從SP接收用戶總數
unsigned long MT_Scs; //4成功轉發數量
unsigned long MT_WT; //4待轉發數量
unsigned long MT_FL; //4轉發失敗數量
unsigned long MO_Scs; //4向SP成功送達數量
unsigned long MO_WT; //4向SP待送達數量
unsigned long MO_FL; //4向SP失敗送達數量
}STRUCT_CMPP12_QUERY_REP;
//CENTEK 平臺內部通信協議 UNIDATA 消息數據結構
///////////////////////////////////////////////////////////////////////////////////
//森泰克平臺數據包結構定義
///////////////////////////////////////////////////////////////////////////////////
//消息頭
typedef struct STRUCT_CTKP_MSG_HEADER
{
DWORD dwTotalLen; //總長
DWORD dwCommandId; //命令ID
DWORD dwSeqNo; //消息流水號
DWORD dwStatus; //命令執行狀態
STRUCT_CTKP_MSG_HEADER()
{
ZeroMemory(this,sizeof(STRUCT_CTKP_MSG_HEADER));
}
}STRUCT_CTKP_MSG_HEADER, *PSTRUCT_CTKP_MSG_HEADER;
//MSGID消息結構
struct STRUCT_MSGID
{
BYTE cMsgID_Type; //MsgID類型
BYTE cMsgID_Length; //MsgID長度
char szMsgID[64]; //MsgID內容
STRUCT_MSGID()
{
ZeroMemory(this,sizeof(STRUCT_MSGID));
}
};
//連接請求數據包
struct STRUCT_CONNECT //CTKP_CONNECT
{
STRUCT_CTKP_MSG_HEADER sHeader; //消息頭
WORD wAppID; //應用ID
char szAppName[16]; //應用名稱
char szPassword[16]; //密碼
DWORD dwVersion; //接口版本號
STRUCT_CONNECT()
{
memset(this,0,sizeof(STRUCT_CONNECT));
}
};
//連接請求應答數據包
struct STRUCT_CONNECT_RSP //CTKP_CONNECT_RSP
{
STRUCT_CTKP_MSG_HEADER sHeader; //消息頭
//此結構的消息體為空
};
//手機上發數據包包頭
typedef struct STRUCT_DELIVERY_HEADER
{
STRUCT_CTKP_MSG_HEADER sHeader; //消息頭
WORD wAppID; //應用ID
BYTE cReDelivery_Count; //重發計數
BYTE cTNO; //電信網絡運營商
BYTE cChannel_Protocol; //通道協議類型
BYTE cService_ChannelID; //服務通道ID
char szService_Number[6]; //服務通道的特服號
BYTE cOriginate_Plat; //發起平臺ID
BYTE cService_Plat; //服務平臺ID
BYTE cProtocol_Type; //數據包協議類型
WORD wProtocol_Length; //數據包長度
STRUCT_DELIVERY_HEADER()
{
ZeroMemory(this,sizeof(STRUCT_DELIVERY_HEADER));
}
}STRUCT_DELIVERY_HEADER, *PSTRUCT_DELIVERY_HEADER;
//手機上發數據包
struct STRUCT_DELIVERY
{
STRUCT_DELIVERY_HEADER sDeliveryHeader; //手機上發數據包包頭
STRUCT_CMPP12_DELIVERY sCMPP12Delivery; //CMPP12_DELIVERY包
STRUCT_DELIVERY()
{
ZeroMemory(this,sizeof(STRUCT_DELIVERY));
}
};
//應用平臺向應用發送的狀態報告
struct STRUCT_MSG_REPORT
{
STRUCT_CTKP_MSG_HEADER sHeader; //消息頭
WORD wAppID;
DWORD dwPlat_MsgID;
BYTE cTNO; //電信網絡運營商
BYTE cChannel_Protocol; //通道協議類型
BYTE cService_ChannelID; //服務通道ID
char szService_Number[6]; //服務通道的特服號
BYTE cService_Plat; //服務平臺ID
BYTE cRequest_Plat; //請求平臺ID
STRUCT_MSG_REPORT()
{
ZeroMemory(this,sizeof(STRUCT_MSG_REPORT));
}
};
//應用向應用平臺提交短消息包頭
struct STRUCT_SUBMIT_HEADER
{
STRUCT_CTKP_MSG_HEADER sHeader; //消息頭
WORD wAppID; //應用ID
BYTE cReSubmit_Count; //重發計數
BYTE cTNO; //電信網絡運營商
BYTE cChannel_Protocol; //通道協議類型
BYTE cService_ChannelID; //服務通道ID
char szService_Number[6]; //服務通道的特服號
BYTE cService_Plat; //服務平臺ID
BYTE cRequest_Plat; //請求平臺ID
BYTE cPriority_Flag; //優先級標志
BYTE cTimeOut; //超時時間間隔(以10秒為單位)
BYTE cCredibility_Transmit; //可靠性傳輸標志
BYTE cSaveForTramSmit; //存儲轉發標志
BYTE cProtocol_Type; //數據包協議類型
WORD wProtocol_Length; //數據包長度
STRUCT_SUBMIT_HEADER()
{
ZeroMemory(this,sizeof(STRUCT_SUBMIT_HEADER));
}
};
struct STRUCT_SUBMIT //CTKP_SUBMIT
{
STRUCT_SUBMIT_HEADER sSubmitHeader; //應用向應用平臺提交短消息包頭
STRUCT_CMPP12_SUBMIT sCMPP12Submit; //CMPP12包包體
STRUCT_SUBMIT()
{
ZeroMemory(this,sizeof(STRUCT_SUBMIT));
}
};
//應用平臺向應用回應接收信息
struct STRUCT_SUBMIT_RSP //CTKP_SUBMIT_RSP
{
STRUCT_CTKP_MSG_HEADER sHeader; //消息頭
WORD dwAppID; //應用ID
DWORD dwPlat_MsgID; //應用平臺的MsgID
STRUCT_SUBMIT_RSP()
{
ZeroMemory(this,sizeof(STRUCT_SUBMIT_RSP));
}
};
//應用接收SUBMIT_RSP或MSG_REPORT后的回應信息
struct STRUCT_RECV_CONFIRM //CTKP_RECV_CONFIRM
{
STRUCT_CTKP_MSG_HEADER sHeader; //消息頭
WORD wAppID;
BYTE cConfirm_Flag; //是收到SUBMIT_RSP還是MSG_REPORT的回應
STRUCT_RECV_CONFIRM()
{
ZeroMemory(this,sizeof(STRUCT_RECV_CONFIRM));
}
};
//通訊模塊回應應用平臺提交短信消息
typedef struct STRUCT_UNIDATA_ACK //CTKP_UNIDATA_ACK
{
STRUCT_CTKP_MSG_HEADER sHeader; //消息頭
WORD wAppID; //應用ID
BYTE cTNO; //電信網絡運營商
BYTE cChannel_Protocol; //通道協議類型
BYTE cService_ChannelID; //服務通道ID
char szService_Number[6]; //服務通道的特服號
BYTE cService_Plat; //服務平臺ID
BYTE cRequest_Plat; //請求平臺ID
STRUCT_MSGID sMsgID; //MsgID結構
STRUCT_UNIDATA_ACK()
{
ZeroMemory(this,sizeof(STRUCT_UNIDATA_ACK));
}
}STRUCT_UNIDATA_ACK,*PSTRUCT_UNIDATA_ACK;
//源應用向目的應用發送消息
struct STRUCT_TOAPP_IND //CTKP_TOAPP_IND
{
STRUCT_CTKP_MSG_HEADER sHeader; //消息頭
WORD wSrc_AppID; //發送方的應用ID
WORD wDest_AppID; //接收方的應用ID
WORD wData_Coding; //數據編碼方案0-英文 1-PDU編碼 2-Unicode
WORD wMsg_Length; //信息長度
char Message[320]; //消息內容
STRUCT_TOAPP_IND()
{
ZeroMemory(this,sizeof(STRUCT_TOAPP_IND));
}
};
//目的應用回應源應用的消息
struct STRUCT_TOAPP_RSP //CTKP_TOAPP_RSP
{
STRUCT_CTKP_MSG_HEADER sHeader; //消息頭
WORD wRsp_AppID; //回應方的應用ID
WORD wInd_AppID; //發送方的應用ID
STRUCT_TOAPP_RSP()
{
ZeroMemory(this,sizeof(STRUCT_TOAPP_RSP));
}
};
//平臺向網關查詢一條消息的狀態
struct STRUCT_QUERY //CTKP_QUERY
{
STRUCT_CTKP_MSG_HEADER sHeader; //消息頭
BYTE cService_Plat; //服務平臺ID號
BYTE cRequest_Plat; //請求平臺ID號
BYTE cTno; //電信運營商
BYTE cChannelID; //通道ID
STRUCT_MSGID sMsgID; //MsgID結構
STRUCT_QUERY()
{
ZeroMemory(this,sizeof(STRUCT_QUERY));
}
};
//應用平臺回應應用一條消息的狀態
struct STRUCT_QUERY_RSP //CTKP_QUERY_RSP
{
STRUCT_CTKP_MSG_HEADER sHeader; //消息頭
BYTE cService_Plat; //服務平臺ID號
BYTE cRequest_Plat; //請求平臺ID號
};
//連接測試消息
struct STRUCT_LINKTEST //CTKP_LINKTEST
{
STRUCT_CTKP_MSG_HEADER sHeader; //消息頭
//此結構的消息體為空
};
//連接測試應答消息
struct STRUCT_LINKTEST_RSP //CTKP_LINKTEST_RSP
{
STRUCT_CTKP_MSG_HEADER sHeader; //消息頭
//此結構的消息體為空
};
//斷開請求消息
struct STRUCT_DISC //CTKP_DISC
{
STRUCT_CTKP_MSG_HEADER sHeader; //消息頭
//此結構的消息體為空
};
//斷開請求應答消息
struct STRUCT_DISC_RSP //CTKP_DISC_RSP
{
STRUCT_CTKP_MSG_HEADER sHeader; //消息頭
//此結構的消息體為空
};
//應用平臺向應用發送錯誤描述信息
struct STRUCT_ERROR_REPORT //CTKP_ERROR_REPORT
{
STRUCT_CTKP_MSG_HEADER sHeader; //消息頭
WORD wAppID; //應用ID
char szError_Msg[40]; //錯誤描述信息
STRUCT_ERROR_REPORT()
{
ZeroMemory(this,sizeof(STRUCT_ERROR_REPORT));
}
};
struct STRUCT_SUBMIT_QUEUE
{
DWORD dwSeqID;
BYTE cTimeOut;
STRUCT_SUBMIT sSubmit;
STRUCT_SUBMIT_QUEUE()
{
ZeroMemory(this,sizeof(STRUCT_SUBMIT_QUEUE));
}
};
struct STRUCT_SUBMITRSP_QUEUE
{
DWORD dwPlatID;
BYTE cTimeOutLeave;
STRUCT_SUBMIT sSubmit;
STRUCT_SUBMITRSP_QUEUE()
{
ZeroMemory(this,sizeof(STRUCT_SUBMITRSP_QUEUE));
}
};
//Data type defined by cgh at 2002.4.24-------->
/*typedef struct Centerid_Sockid
{
CString SimNo;
DWORD id;
} Centerid_Sockid;
*/
#endif//_DATA_DEF_H_
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -