⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gprs_packet.h

📁 一个有关挂载U盘
💻 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 + -