📄 comm_msg_handle.h
字号:
#ifndef COMM_MSG_HANDLE_H_
#define COMM_MSG_HANDLE_H_
#ifndef DOWNLOAD
#include <minigui/common.h>
#include <minigui/minigui.h>
#include <minigui/gdi.h>
#include <minigui/window.h>
#include <minigui/control.h>
#endif
#include "utility.h"
#define INT8U unsigned char
#define COMM_MAX_IMEI_LEN 15 //IMEI数据的最大长度
#define COMM_MAX_IMSI_LEN 15 //IMSI数据的最大长度
#define COMM_MAX_CCID_LEN 20 //CCID数据的最大长度
#define COMM_MAX_SEQ_NO_LEN 4 //流水号最大长度
#define MAX_PHONE_NUM_LEN 21 //手机号码最大长度
#define MAX_IP_LEN 30 //GPRS IP最大长度
#define MAXMSG (sizeof(Stel_msg)) //消息队列最大数据长度
#define DEV_IN 0x01 //外设插入
#define DEV_OUT 0x02 //外设拔出
#ifndef DOWNLOAD
enum {
MSG_REGISTER_GPRS_SUCCESS=MSG_USER+900, //登陆GPRS网络成功
MSG_REGISTER_GPRS_ERROR, //登陆GPRS网络失败
MSG_EXIT_GPRS_SUCCESS, //退出GPRS网络成功
MSG_EXIT_GPRS_ERROR, //退出GPRS网络失败
MSG_GPRS_EXE_STEP, //GPRS执行步骤
};
#endif
//公共消息处理回调原形
typedef void (*CommMsgHandle)(int len, void *user_data);
//主界面状态提示消息处理回调原形
typedef void (*CommMsgStateHandle)(unsigned char state);
//
typedef void (*CommMsgNetWorkRegisterHandle)(void);
//add by yangkai 070802
typedef void (*CommGetLacCiRegisterHandle)(unsigned short lac, unsigned short ci);
typedef void (*CommMsgSimInitSuccHandle)(void);
//add by liuys 2007-09-04 begin
typedef void (*CommDownLoadStepHandle)( unsigned char *file_name, long int total, long int step );
//add by liuys 2007-09-04 end
//add by liuys 2008-10-09 begin
typedef void (*CommAutoDetectHandle)( char detect_type, char dev_type, char *dev_name );
//add by liuys 2008-10-09 end
//短信PDU
typedef struct {
INT8U PDUtype; /* Protocal Data unit Type */
INT8U DCS; /* Data coding scheme */
INT8U PID; /* Protocal Identifier */
INT8U TimeZone; /* Time zone */
INT8U SCTS[12]; /* Service center Time stamp */
INT8U SCAL; /* Service Center address length */
INT8U SCA[22]; /* Service Center address */
INT8U OAL; /* Originator address length */
INT8U OA[22]; /* Originator address */
INT8U UDL; /* User Data length */
INT8U UD[160]; /* User Data */
} SM_STRUCT;
/*
*取得当前GPRS的状态
*0:登陆GPRS网络成功; 1:登陆GPRS网络失败; 2:退出GPRS网络成功;
*3:上次GPRS数据发送成功; 4:上次GPRS数据发送失败;
*
*/
int GetGprsStat(void);
/*
*设置GPRS的状态
*注:目前只允许将状态为3的设置为0,其它状态的禁止更改
*/
void SetGprsStat(int stat);
/*
*通知GSM模块发短信(短信内容为GB码)
*/
int SendSMSMsg(char *phone, int phone_len, unsigned char *content, int content_len);
/*
*通知GSM模块发长短信(短信内容为GB码)
*长度小于900字节
*/
int SendSMSLongMsg(char *phone, int phone_len, unsigned char *content, int content_len);
/*
*通知GSM模块发特殊短信
*smshead:
*1:说明短信内容里面包含了头信息
*其他:无头信息
*dcs:
*1:说明用户自己定义DCS(短信的数据编码方案),内容为dcs_content
*其他:使用默认值(0x04,8位编码,Class0)
*dcs_content:
*如果dcs=1,内容为用户要使用的编码方案
*/
int SendSMSSpecMsg(char *phone, int phone_len, unsigned char *content, int content_len,unsigned char smshead,unsigned char dcs,unsigned char dcs_content);
/*
*通知GSM打电话
*/
int SendTelMsg(int len, unsigned char *buf);
/*
*通知GSM挂机
*/
int SendTelCloseMsg(void);
/*
*通知GSM话机按键按下
*/
int SendPressKeyMsg(char key_value);
/*
*通知GSM连接到GPRS网络上
*type: 0x01:CMWAP; 0x02:CMNET;
*return: 0--成功;其它:失败;
*/
int SendRegisterGprsMsg(char type);
/*
*通知GSM退出GPRS网络
*/
int SendRegisterGprsExitMsg(void);
/*
*通知DTMF话机响铃
*/
int SendDtmfRingUpMsg(void);
/*
*通知GSM发出摘机音
*/
int SendGSMToneMsg(void);
/*
*通知GSM停止发摘机音
*/
int SendGSMStopToneMsg(void);
/*
*通知DTMF话机停止响铃
*/
int SendDtmfPickupMsg(void);
/*
*通知GSM接听电话
*/
int SendGSMPickupPhoneMsg(void);
/*
*调整模块MIC声音大小
*/
int SendGSMMicGainLevelMsg(void);
/*
*调整模块话筒声音大小
*/
int SendGSMSpeakGainLevelMsg(void);
/*
*通知GSM发出线路忙音
*/
int SendGSMSendBusyToneMsg(void);
/*
*调整模块复位(慎用)
*/
int SendGSMResetMsg(void);
/*
*在服务器关闭端口后,向本机发送CLOSE/r/n共10个字符,
*上层程序收到这10个字符后,发送这个消息GSM模块,通知GSM推出GPRS状态
*/
int SendGSMExitGPRSServerCloseMsg(void);
/*
*通知GSM连接到GPRS网络上(UDP协议)
*/
int SendGSMRegisterGPRSUDPMsg(char *port, int portlen, char *ip, int iplen);
/*
*清空GPRS Buf数据
*/
void ClearGPRSBuf( void );
/*
*通知GSM发IMEI号
*/
int SendGSMSendIMEIMsg(void);
/*
*通知GSM发送信号强度
*/
int SendGSMSendSignalMsg(void);
/*
*通知GSM模块将GPSR与GTK交互的消息转发至软件升级下载模块
*/
int SendGSMSetGPRSMsgToUpdateDownLoadModuledMsg(void);
/*
*通知GSM模块将GPRS相关控制消息发送至GTK模块
*/
int SendGSMSetGPRSMsgToGTKModuledMsg(void);
/*
*GTK自己给自己发送的消息
*/
int SendGTKSelfMsg(void);
/*
*通知打印机模块需要打印的数据
*注意:打印的数据必须小于1000个字节
*/
int SendPrintMsg(int len, unsigned char *user_data);
/*
*通知GSM设置TCP滑动窗口的大小
*注意:sendsize、recvsize必须是"0"至"5120"(字符串)
*/
int SendSetTcpWinMsg(char *sendsize, char *recvsize);
/*
*通知IC模块进行密码验证
*/
int SendICCardOutModuleCSCMsg(unsigned char *user_data, int len);
/*
*通知IC模块读出卡密码
*/
int SendICCardOutModuleRSCMsg(void);
/*
*通知IC模块改写卡密码
*/
int SendICCardOutModuleWSCMsg(unsigned char *user_data, int len);
/*
*通知IC模块读出密码错误计数器值
*/
int SendICCardOutModuleRSCTMsg(void);
/*
*通知IC模块检查卡型是否正确 ,是否是SLE4442卡
*/
int SendICCardOutModuleCHKMsg(void);
/*
*通知IC模块向指定地址写数据
*/
int SendICCardOutModuleSWRMsg(unsigned char *user_data, int len);
/*
*通知IC模块从指定地址读数据
*/
int SendICCardOutModuleSRDMsg(unsigned char *user_data, int len);
/*
*通知IC卡送出Ic卡应用类型
*/
int SendICCardOutModuleAppTypeMsg(void);
/*
*通知IC卡送出Ic卡应用标识
*/
int SendICCardOutModuleCardIDMsg(void);
/*
*通知IC卡送出IC卡的发行时间
*/
int SendICCardOutModulePubDateMsg(void);
/*
*通知软件升级下载模块升级
*type: 0x01:自动升级; 0x02:手动升级; 0x04:短信通知升级
*/
int SendUpdateDownLoadModuleUpdatedMsg(char type);
/*
*通知软件升级下载模块升级(湖北版)
*注意:入参apn、userid、passwd、ip、port、prover、downfile必须是字符串('\0'结尾)
*type: 0x01:自动升级; 0x02:手动升级; 0x04:短信通知升级
*/
int SendUpdateModuleUpdatedMsg_HB(unsigned char *apn, unsigned char *userid, unsigned char *passwd, \
unsigned char *ip, unsigned char *port, unsigned char *prover, \
unsigned char *downfile, char type);
/*
*通知GTK模块,软件升级模块连接GPRS成功
*/
int SendGTKDownLoadConnectGPRSSuccessMsg(char type);
/*
*通知GTK模块,软件升级模块退出GPRS
*/
int SendGTKDownLoadExitGPRSMsg(char type);
/*
*通知GTK模块,软件升级模块升级状态(0x01:成功;0x02:失败;0x04:未升级;)
*/
int SendGTKDownLoadStateMsg(char type);
/*
*通知GSM STK初始化
*/
int SendGSMSendSTKInitMsg(void);
/*
*通知GSM STK选择菜单
*注意:len不能大于1000;user_data必须是以'\0'结尾的字符串
*/
int SendGSMSendSTKMenuSelMsg(unsigned char *user_data, int len);
/*
*通知GSM STK输入(ASCII码)
*注意:len不能大于1000;user_data必须是以'\0'结尾的字符串
*/
int SendGSMSendSTKInputMsg(unsigned char *user_data, int len);
/*
*通知GSM STK返回
*/
int SendGSMSendSTKReturnMsg(void);
/*
*通知GSM 推出STK菜单状态
*/
int SendGSMSendSTKExitMsg(void);
/*
*通知GSM,开启PIN码保护
*/
int SendGSMOpenPinMsg( unsigned char *pin, int len );
/*
*通知GSM,关闭PIN码保护
*/
int SendGSMClosePinMsg( unsigned char *pin, int len );
/*
*通知GSM,修改PIN码
*/
int SendGSMChangePinMsg( unsigned char *oldpin, int oldpin_len, unsigned char *newpin, int newpin_len );
/*
*通知GSM,输入PIN码
*/
int SendGSMEnterPinMsg( unsigned char *pin, int len );
/*
*通知GSM,输入PUK码
*/
int SendGSMEnterPukMsg( unsigned char *puk, int puk_len, unsigned char *pin, int pin_len );
/*
*通知GTK模块,软件升级下载进度处理
*/
int SendGTKDownLoadStepMsg( unsigned char *file_name, long int total, long int step );
/*
*通知GTK模块,自动检测到外设
*/
int SendGTKAutoDetectMsg( char *user_data, int len );
int WirteFifo(void *buf, int len);
int ReadFifo(void *buf, int len);
/*
*短信处理(回调函数注册)
*0:成功 -1 已经注册 -2 入参为空
*/
int RegisterSMSHandle( void(*Fp)(int len, void *user_data) );
/*
*短信处理(回调函数注销)
*0:成功 -1 未注册
*/
int UnRegisterSMSHandle( void );
/*
*长短信处理(回调函数注册)
*0:成功 -1 已经注册 -2 入参为空
*/
int RegisterLongSMSHandle( void(*Fp)(int len, void *user_data) );
/*
*短信处理(回调函数注销)
*0:成功 -1 未注册
*/
int UnRegisterLongSMSHandle( void );
/*
*来电处理(回调函数注册)
*0:成功 -1 已经注册 -2 入参为空
*/
int RegisterPhoneHandle( void(*Fp)(int len, void *user_data) );
/*
*来电处理(回调函数注销)
*0:成功 -1 未注册
*/
int UnRegisterPhoneHandle( void );
/*
*信号强度处理(回调函数注册)
*0:成功 -1 已经注册 -2 入参为空
*/
int RegisterSignalHandle( void(*Fp)(int len, void *user_data) );
/*
*信号强度处理(回调函数注销)
*0:成功 -1 未注册
*/
int UnRegisterSignalHandle( void );
/*
*GPRS处理(回调函数注册)
*0:成功 -1 已经注册 -2 入参为空
*/
int RegisterGprsHandle( void(*Fp)(int len, void *user_data) );
/*
*GPRS处理(回调函数注销)
*0:成功 -1 未注册
*/
int UnRegisterGprsHandle( void );
/*
*闹钟处理(回调函数注册)
*0:成功 -1 已经注册 -2 入参为空
*/
int RegisterAlarmHandle( void(*Fp)(int len, void *user_data) );
/*
*闹钟处理(回调函数注销)
*0:成功 -1 未注册
*/
int UnRegisterAlarmHandle( void );
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -