📄 gprs_packet.h
字号:
#ifndef GPRS_PACKET__H
#define GPRS_PACKET__H
#include "mittype.h"
typedef struct oper_packet
{
u32 length;//业务数据长度,不包含包头
u32 oper_no;//业务码
u32 func_no;//操作码
u32 seq_no; //序列号
u32 pack_num;//业务数据总包数
u32 cur_pack_num; //当前业务数据包序号
u8* Client_code; //用户码
u8 *data; //实际业务数据
}OPER_PACKET;
#define GPRS_READ_NO_DATA -1
#define GPRS_CLOSE_BY_SERVICE -2
#define GPRSMAXLEN 1024
#define GPRS_MAX_BUF_LEN 1024 //GPRS BUF最大长度
//#define GPRS_MAX_TIMER_TIME 10 //GPRS定时器最大定时时间(100毫秒)
//#define GPRS_MAX_TIMER_REPEAT 100 //GPRS定时器执行最大次数
//#define GPRS_MAX_CONNECT_REPEAT 10 //GPRS重接最大次数
//#define GPRS_MAX_CONTENT_RECORD 3 //读GPRS数据最大条数
#define GPRS_MAX_CONNECT_TIME 60 //GPRS连接等待时间(60秒)
#define GPRS_MAX_SEND_DATA_TIME 30 //GPRS发送数据等待时间(30秒)
#define GPRS_MAX_RECV_DATA_TIME 60 //GPRS接收数据等待时间(60秒)
#define GPRS_MAX_CLIENTCODE_LEN 15 //客户代码最大长度
#define GPRS_MAX_PROTOCOL_HEAD_LEN 4 //协议包包头最大长度
#define GPRS_MAX_OPER_NO_LEN 2 //协议包包头业务号最大长度
#define GPRS_MAX_FUNC_NO_LEN 2 //协议包包头功能号最大长度
#define GPRS_MAX_SEQ_NO_LEN 4 //协议包包头流水号最大长度
#define GPRS_MAX_PACK_NUM_LEN 4 //协议包包头总包数最大长度
#define GPRS_MAX_CUR_PACK_NUM_LEN 4 //协议包包头当前包最大长度
#define GPRS_CONNECT_CMWAP 0x01 //GPRS连接类型CMWAP
#define GPRS_CONNECT_CMNET 0x02 //GPRS连接类型CMNET
//协议包包头总长度
#define GPRS_MAX_PACK_HEAD_LEN (GPRS_MAX_PROTOCOL_HEAD_LEN + \
GPRS_MAX_OPER_NO_LEN + \
GPRS_MAX_FUNC_NO_LEN + \
GPRS_MAX_SEQ_NO_LEN + \
GPRS_MAX_PACK_NUM_LEN + \
GPRS_MAX_CUR_PACK_NUM_LEN + \
GPRS_MAX_CLIENTCODE_LEN)
//交易协议头结构
typedef struct _ProtocolHead
{
u8 HeadLen[GPRS_MAX_PROTOCOL_HEAD_LEN]; //协议包包头长度
u8 OperNo[GPRS_MAX_OPER_NO_LEN]; //业务号
u8 FuncNo[GPRS_MAX_FUNC_NO_LEN]; //功能号
u8 SeqNo[GPRS_MAX_SEQ_NO_LEN]; //流水号
u8 PackNum[GPRS_MAX_PACK_NUM_LEN]; //总包数
u8 CurPackNum[GPRS_MAX_CUR_PACK_NUM_LEN]; //当前包
u8 CigaretteCode[GPRS_MAX_CLIENTCODE_LEN]; //客户代码
} ProtocolHead;
//GPRS Content Buf
typedef struct _GPRSContentBuf
{
u8 buf[GPRS_MAX_BUF_LEN];
} GPRSContentBuf;
//GPRS ClientCode Buf
typedef struct _GPRSClientCodeBuf
{
u8 buf[GPRS_MAX_CLIENTCODE_LEN + 1];
} GPRSClientCodeBuf;
//接收一个完整的包,送到上层处理
int read_one_gprs_packet(OPER_PACKET *packet);
/*
*清空GPRS Buf数据
*/
void ClearGPRSBuf( void );
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -