?? wsmsdef.h
字號(hào):
/*****************************************************************************
* GSM SMS Routines
*
* Writen by Menghongwen@<menghongwen@smmail.cn>
*
* Dec., 2004 copyright YINHUA Technology, all right reserved
\****************************************************************************/
#ifndef __WSMSDEF_H
#define __WSMSDEF_H
#include <cbcomm.h>
#include <Contnrs.hpp>
#include <Classes.hpp>
#define __GSMSMSNORECEIPT 888
#define __GSMSMSESNDERROR 900
#define GSMPHONETYPEINT 0x91
#define GSMPHONETYPENAT 0xA1
typedef enum { GSMSendAsText = 0, GSMSendAsPDU } TSMSSendMode;
typedef enum { GSMMTMessage = 0, GSMMTReceipt, GSMMTError } TGSMMessageType;
extern const char * __GSMRESPOK;
extern const char * __GSMRESPERR;
class TGSMCommand {
TRS232Comm hComm;
short usSend, rc;
char szSend[1024],szRecv[__GSMCOMMINBUFFSIZE];
char szString[2048];
public:
short usRecv;
TGSMCommand();
bool opencomm(char *pPort);
bool closecomm();
char *sendAsString();
char *recvAsString();
void atcommand(char *pname, bool bAssign = true);
void cleardata();
void appendstr(char *);
void append(BYTE *,BYTE);
void append(BYTE );
void appendcr();
void appendcz();
void toAscii();
bool send(short msSecond=0);
bool querychar(char );
bool querystring(const char *pv=__GSMRESPOK);
short queryShortValue(char *pName);
};
typedef union {
struct {
unsigned planid :4;
unsigned numtype:3;
unsigned msb :1;
} bitmap;
BYTE value;
} TADDRESSTYPE;
class TGSMAddress {
BYTE uclen;
BYTE ucoctets;
TADDRESSTYPE type;
public:
BYTE value[16];
char ascii[16];
TGSMAddress();
TGSMAddress(char *psmsc);
void setvalue(char *psmsc);
short loadstring(char *pstream, bool bdao=false);
BYTE valuelen() { return uclen; }
BYTE packagelen() { return uclen+1;}
BYTE semioctets() { return ucoctets;}
BYTE typeOf() { return type.value; }
void settype(BYTE uc) { type.value = uc; }
TGSMAddress & operator= (TGSMAddress&);
};
typedef union {
struct {
unsigned tpmti :2;
unsigned tprd :1;
unsigned tpvpf :2;
unsigned tpspr :1;
unsigned tpudhi:1;
unsigned tprp :1;
} bitmap;
BYTE value;
} TFOCTET;
typedef union {
struct {
unsigned b40 :5;
unsigned b5 :1;
unsigned b76 :2;
} bitmap;
BYTE value;
} TTPPID;
typedef union {
struct {
unsigned calss : 2;
unsigned alphabet: 2;
unsigned hascalss: 1;
unsigned compress: 1;
unsigned gdatacode:2;
} bitmap;
BYTE value;
} TTPDCS;
typedef struct {
BYTE years;
BYTE month;
BYTE day;
BYTE hour;
BYTE minute;
BYTE second;
BYTE timezone;
} TTPSCTS;
class TSMSPDUS {
public:
TSMSPDUS();
TGSMAddress *sca;
TFOCTET foctet;
BYTE tpmr;
TGSMAddress *tpda;
TTPPID tppid;
TTPDCS tpdcs;
BYTE tpvp;
BYTE tpudl;
BYTE tpud[180];
BYTE length();
};
class TSMSPDUR {
public:
TGSMAddress sca;
TFOCTET foctet;
TGSMAddress tpoa;
TTPPID tppid;
TTPDCS tpdcs;
TTPSCTS tpscts;
BYTE tpudl;
BYTE tpud[180];
BYTE length();
};
typedef TSMSPDUS * PTSMSPDUS;
class TGSMMessage {
public:
TGSMMessageType msgtype;
AnsiString traceno;
TGSMAddress address;
AnsiString asMessage;
TGSMMessage(){ msgtype =GSMMTMessage; }
};
typedef TGSMMessage * PTGSMMessage;
typedef struct {
char szPort[8];
// buand speed etc
// parameter
HANDLE hevStopGSMService;
HANDLE hevThreadStoped;
AnsiString asSmscString;
short msWaitingTime;
DWORD msPollingTime;
TQueue * hQueueIn, *hQueueOut;
} TSMSConfig;
void trimspace(char *string );
char * bcd2asc(char *hexstr, char *ascstr,short length );
char * bcd2ascb(char *hexstr, char *ascstr,short length );
char * asc2bcd(char *ascstr, char *bcdstr,short bcdlen);
char * asc2bcdInv(char *ascstr, char *bcdstr,short bcdlen);
short ascii2AddressString(char *asc, char *);
BYTE encode2UCS2(AnsiString astr, BYTE *);
BYTE decodeUcs2(BYTE * pSrc, BYTE * pDst, BYTE nSrcLength);
BYTE decode7bit(BYTE * pSrc, char* pDst, BYTE nSrcLength);
BYTE decode8bit(BYTE * pSrc, char* pDst, BYTE nSrcLength);
#endif
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -