?? sms.h
字號:
#ifndef SMS_H
#define SMS_H
struct TTimerDef
{
unsigned int year;
unsigned char month;
unsigned char day;
unsigned char hour;
unsigned char minute;
unsigned char second;
}; //時間戳
struct SMSElementDef
{
SMSElementDef(void):
timerLen(0),
OriAddrLen(0),
DesAddrLen(0),
callbackLen(0),
encodType(0xff),
Res_code(0),
Msg_type(0),
Val_per_A_len(0),
Val_per_R(0),
Have_Val_per_R(0),
Def_del_time_A_len(0),
Def_del_time_R(0),
Have_Def_del_time_R(0),
Priority_Indicator(0),
Have_Priority_Indicator(0),
Privacy_Indicator(0),
Have_Privacy_Indicator(0),
Reply_Option(0),
Have_Reply_Option(0),
Num_Of_Msgs(0),
Have_Num_Of_Msgs(0),
Alert_on_msg(0),
Have_Alert_on_msg(0),
Lan_Indicator(0),
Have_Lan_Indicator(0),
Msg_disp_mode(0),
Have_Msg_disp_mode(0),
Mul_data_Len(0),
Tel_ser(0),
Ser_cate(0),
Have_Ser_cate(0),
Bearer_reply(0),
Have_Bearer_reply(0),
Error_class(0),
Cause_codes(0),
Have_Cause_codes(0),
dataLen(0)
{}
unsigned char timerLen;
TTimerDef timer;
unsigned char OriAddrLen;
unsigned char OriAddr[20];
unsigned char DesAddrLen;
unsigned char DestAddr[20];
unsigned char callbackLen;
unsigned char callbackNumber[15];
unsigned char encodType; // 0::Ascii 1::uincode
unsigned char dataLen;
char data[150];
unsigned char Res_code;
unsigned char Msg_type;
unsigned char Val_per_A_len;
TTimerDef Val_per_A;
unsigned char Val_per_R;
unsigned char Have_Val_per_R;
unsigned char Def_del_time_A_len;
TTimerDef Def_del_time_A;
unsigned char Def_del_time_R;
unsigned char Have_Def_del_time_R;
unsigned char Priority_Indicator;
unsigned char Have_Priority_Indicator;
unsigned char Privacy_Indicator;
unsigned char Have_Privacy_Indicator;
unsigned char Reply_Option;
unsigned char Have_Reply_Option;
unsigned char Num_Of_Msgs;
unsigned char Have_Num_Of_Msgs;
unsigned char Alert_on_msg;
unsigned char Have_Alert_on_msg;
unsigned char Lan_Indicator;
unsigned char Have_Lan_Indicator;
unsigned char Msg_disp_mode;
unsigned char Have_Msg_disp_mode;
unsigned char Mul_data_Len;
char Mul_data[150];
unsigned short Tel_ser;
unsigned short Ser_cate;
unsigned short Have_Ser_cate;
unsigned char Bearer_reply;
unsigned char Have_Bearer_reply;
unsigned char Error_class;
unsigned char Cause_codes;
unsigned char Have_Cause_codes;
}; //解析SMS后的輸出
/*層3DBM消息頭定義格式*/
struct L3_SMSHeaderDef
{
char msg_Number;
char burst_Type; //突發消息類型
char num_Msgs; //
char num_Fields;
//char data[255];
};
/*層3 DBM 消息定義格式 */
struct L3_SMSDef
{
L3_SMSHeaderDef smsHeader;
char l3_data[255];
};
//uincode 解碼函數聲明
int creat_code_table(char* FileName);
unsigned short unicode2qw_convert(unsigned short unicode_value);
unsigned short qw2unicode_convert(unsigned short qw_value);
void String_uni2qw_convert(void *ptr_unicode_string, unsigned char string_len);
void String_qw2Uni_convert(void *ptr_qw_string, int *str_uni_len);
void String_octet2ascii(char *ptr_string, int string_len);
void String_ascii2octet(char *ptr_string, int string_len);
#define SMS_POINT_TO_POINT 0 //點到點的SMS
#define SMS_BROADCAST 1 //廣播SMS
#define SMS_ACK 2 //SMS確認
//突發消息類型定義 (參考"Administration of Parameter Value Assignments for Spread Spectrum Standards"--C.R1001)
#define UNKNOWN_BURST_TYPE 0
#define ASYNCHRONOUS_DATA_SERVICES 1
#define GROUP_3_FACSIMILE 2
#define SHORT_MESSAGE_SERVICES 3
#define OVER_THE_AIR_SERVICES_PROVISIONING 4
#define POSITION_DETERMINATION_SERVICES 5
#define SHORT_DATA_BURSTS 6
#define EXTENDED_BURST_TYPE_INTERNATIONAL 0x111110
//SMS parameter ID宏定義
#define Teleservice_Identifier 0
#define Service_Category 1
#define Originating_Address 2
#define Originating_Subaddress 3
#define Destination_Address 4
#define Destination_Subaddress 5
#define Bearer_Reply_Option 6
#define Cause_Codes 7
#define Bearer_Data 8
//源/目地址字段的NUMBER_TYPE 值定義
/*digit_mode=1 和number_mode=0時的取值*/
#define UNKNOWN_VALUE_1 0
#define INTERNATIONAL_NUMBER 1
#define NATIONAL_NUMBER 2
#define NETWORK_SPECIFIC_NUMBER 3
#define SUBSCRIBER_NUMBER 4
#define RESERVED 5
#define ABBREVIATED_NUMBER 6
#define RESERVED_FOR_EXTENSION 7
/*digit_mode 和number_mode 均為1時的取值*/
#define UNKNOWN_VALUE_2 0
#define INTERNET_PROTOCOL 1
#define INTERNET_EMAIL_ADDRESS 2
//DTMF 編碼
/*
#define 0001 1
#define 0010 2
#define 0011 3
#define 0100 4
#define 0101 5
#define 0110 6
#define 0111 7
#define 1000 8
#define 1001 9
#define 1010 0
#define 1011 *
#define 1100 #
*/
//BearData域的子參數宏定義
#define MESSAGE_IDENTIFIER 0
#define USER_DATA 1
#define USER_RESPONSE_CODE 2
#define MESSAGE_CENTER_TIME_STAMP 3
#define VALIDITY_PERIOD_ABSOLUTE 4
#define VALIDITY_PERIOD_RELATIVE 5
#define DEFERRED_DELIVERY_TIME_ABSOLUTE 6
#define DEFERRED_DELIVERY_TIME_RELATIVE 7
#define PRIORITY_INDICATOR 8
#define PRIVACY_INDICATOR 9
#define REPLY_OPTION 10
#define NUMBER_OF_MESSAGE 11
#define ALERT_ON_MESSAGE_DELIVERY 12
#define LANGUAGE_INDICATOR 13
#define CALLBACK_NUMBER 14
#define MESSAGE_DISPLAY_MODE 15
#define MULTIPLE_ENCODING_USER_DATA 16
/*
Message Center Time Stamp ‘00000011’
Validity Period – Absolute ‘00000100’
Validity Period – Relative ‘00000101’
Deferred Delivery Time - Absolute ‘00000110’
Deferred Delivery Time - Relative ‘00000111’
Priority Indicator ‘00001000’
Privacy Indicator ‘00001001’
Reply Option ‘00001010’
Number of Messages ‘00001011’
Alert on Message Delivery ‘00001100’
Language Indicator ‘00001101’
Call-Back Number ‘00001110’
Message Display Mode ‘00001111’
Multiple Encoding User Data ‘00010000’
All other values are reserved.
*/
//msg_encoding宏定義
#define SEVEN_BIT_ASCII 2
#define UNICODE_ENCOD 4
/*
Octet, unspecified ‘00000’ 8
IS-91 Extended Protocol Message ‘00001’ (iv)
7-bit ASCII (ANSI X3.4) ‘00010’ 7
IA5 (Table 11 of ITU-T T.50) ‘00011’ 7
UNICODEi (ISO/IEC 10646-1:1993) ‘00100’ 16
Shift-JISii ‘00101’ 8 or 16
Korean (KS X 1001:1998)iii ‘00110’ 8 or 16
Latin/Hebrew (ISO 8859-8:1988) ‘00111’ 8
Latin (ISO 8859-1:1988) ‘01000’ 8
*/
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -