Sms.h
上传用户:ynthgy
上传日期:2022-06-13
资源大小:1580k
文件大小:2k
源码类别:

手机短信编程

开发平台:

Visual C++

  1. // Sms.h: 
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(SMS_H__)
  5. #define SMS_H__
  6. // 用户信息编码方式
  7. #define GSM_7BIT 0 // 7-bit编码方式
  8. #define GSM_8BIT 4   // 8-bit编码方式
  9. #define GSM_UCS2 8   // UCS2编码方式
  10. // 短消息参数结构,编码/解码共用
  11. // 其中,字符串以0结尾
  12. typedef struct {
  13. char SCA[16]; // 短消息服务中心号码(SMSC地址)
  14. char TPA[16]; // 目标号码或回复号码(TP-DA或TP-RA)
  15. char TP_PID; // 用户信息协议标识(TP-PID)
  16. char TP_DCS; // 用户信息编码方式(TP-DCS)
  17. char TP_SCTS[16]; // 服务时间戳字符串(TP_SCTS), 接收时用到
  18. char TP_UD[161]; // 原始用户信息(编码前或解码后的TP-UD)
  19. char index; // 短消息序号,在读取时用到
  20.     char mode;              // 短消息格式
  21. } SM_PARAM;
  22. int gsmBytes2String(const unsigned char* pSrc, char* pDst, int nSrcLength);// 字节数据转换为可打印字符串
  23. int gsmString2Bytes(const char* pSrc, unsigned char* pDst, int nSrcLength);// 可打印字符串转换为字节数据
  24. int gsmEncode7bit(const char* pSrc, unsigned char* pDst, int nSrcLength);// 7bit编码
  25. int gsmDecode7bit(const unsigned char* pSrc, char* pDst, int nSrcLength);// 7bit解码
  26. int gsmEncode8bit(const char* pSrc, unsigned char* pDst, int nSrcLength);// 8bit编码
  27. int gsmDecode8bit(const unsigned char* pSrc, char* pDst, int nSrcLength);// 8bit解码
  28. int gsmEncodeUcs2(const char* pSrc, unsigned char* pDst, int nSrcLength);// UCS2编码
  29. int gsmDecodeUcs2(const unsigned char* pSrc, char* pDst, int nSrcLength);// UCS2解码
  30. int gsmInvertNumbers(const char* pSrc, char* pDst, int nSrcLength);// 正常顺序的字符串转换为两两颠倒的字符串,若长度为奇数,补'F'凑成偶数
  31. int gsmSerializeNumbers(const char* pSrc, char* pDst, int nSrcLength);// 两两颠倒的字符串转换为正常顺序的字符串
  32. int gsmEncodePdu(const SM_PARAM* pSrc, char* pDst);// PDU编码,用于编制、发送短消息
  33. int gsmDecodePdu(const char* pSrc, SM_PARAM* pDst);// PDU解码,用于接收、阅读短消息
  34. BOOL gsmSendMessage(const SM_PARAM* pSrc);// 发送短消息
  35. int gsmReadMessage(SM_PARAM* pMsg);// 读取短消息
  36. BOOL gsmDeleteMessage(const int index);// 删除短消息
  37. #endif // !defined(SMS_H__)