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

📄 cpos.h.bak

📁 是上一个SMS消费机的充值机程序
💻 BAK
字号:
//宏定义

#define RECORD_LEN 			40

#define CMD_OK				0x00
#define CMD_ERROR			0xff
#define CMD_AUTHEN			0xA0
#define CMD_LOGON			0xA1
#define CMD_M1PASS			0xA2
#define CMD_M1INFO			0xA3
#define CMD_PURCHASE			0xA4
#define CMD_GETDATA			0xA5
#define CMD_SETBLACKLIST		0xA6
#define CMD_RESTORECARD			0xA7
#define CMD_SALECARD			0xA8
#define CMD_CHARGE			0xA9
#define CMD_GETDATETIME			0xAA
#define CMD_SETDATETIME			0xAB
#define CMD_RECYCLECARD			0xAC
#define CMD_DISCONNECT			0xAD
#define CMD_SERVERBLFLAG		0xAE

#define CMD_CHARGE_MONEY		0x40
#define CMD_CHARGE_SMONEY		0x41
#define CMD_CHARGE_MONEYN		0x42
#define CMD_CHARGE_SMONEYN		0x43
#define CMD_PURCHASE_MONEY		0x44
#define CMD_PURCHASE_TIMES		0x45

#define ST_OK				0
#define ERR_MIF_SELECT			1
#define ERR_MIF_KEY			2
#define ERR_MIF_REQUEST			3
#define ERR_MIF_AUTEN			4
#define ERR_MIF_READ			5
#define ERR_MIF_WRITE			6
#define ERR_MIF_INC			7
#define ERR_MIF_DEC			8
#define ERR_MIF_TYPE			9
#define ERR_MIF_INBLACK			10
#define ERR_MIF_PURSE			11
#define ERR_MIF_FORMAT			12
#define ERR_MIF_NOTSAMECARD		13

#define ERR_OPEN_PORT			20
#define ERR_CLOSE_PORT			21
#define ERR_COM_TIMEOUT			22
#define ERR_COM_COMMAND			23
#define ERR_COM_FORMAT			24
#define ERR_COM_SEND			25
#define ERR_COM_RECEIVE			26

#define ERR_MEM_FULL			40
#define ERR_MEM_WRITE			41
#define ERR_MEM_READ			42

#define ERR_CHG_NUM			60
#define ERR_CHG_DEVTYPE			61
#define ERR_CHG_DEVATHEN		62
#define ERR_CHG_NOINIT			63
#define ERR_CHG_HAVEAUTHEN		64
#define ERR_CHG_NOWORKKEY		65
#define ERR_CHG_CANNOTCHARGEN		66
#define ERR_CHG_FULLEEPROM		67
#define ERR_CHG_READEEPROM		68
#define ERR_CHG_WRITEEEPROM		69

#define ERR_PSAM_NOREPEN		70
#define ERR_PSAM_FILESEL		71
#define ERR_PSAM_PINAUTH		72
#define ERR_PSAM_PAGELEN		73
#define ERR_PSAM_NOINFO			74
#define ERR_PSAM_AUTHEN			75
#define ERR_PSAM_DATALEN		76
#define ERR_PSAM_FUNC			77
#define ERR_PSAM_PARM			78
#define ERR_PSAM_IVMAC			79
#define ERR_PSAM_SPKEY			80
#define ERR_PSAM_SPMAC			81

#define ERR_POS_GETCARDKEY		100		
#define ERR_POS_GETCARDINFO		101		
#define ERR_POS_NOTSAMECARD		102		
#define ERR_POS_NOTCHKSERBL		103		
#define ERR_POS_INSERVERBL		104		
#define ERR_POS_NOTCUMSCARD		105		
#define ERR_POS_BLCARD			106		
#define ERR_POS_CARDNOTSTART		107		
#define ERR_POS_OUTOFLIMIT		108		
#define ERR_POS_FULLTIMESBLOCK		109		
#define ERR_POS_RECHARGETIMES		110		
#define ERR_POS_DISCHARGETIMES		111		
#define ERR_POS_WRITECHRSTEP		112		
#define ERR_POS_WRITECHRPOINT		113		
#define ERR_POS_COPYTO2BLOCK		114		
#define ERR_POS_MODIFYMONEY		115		
#define ERR_POS_BUILDRECORD		116		
#define ERR_POS_TIMESPARM		117		
#define ERR_POS_NOCARD			118		
#define ERR_POS_NOTWHITECARD		119		
#define ERR_POS_CARDALRSTART		120		
#define ERR_POS_MODIFYSTARTFLAG		121		
#define ERR_POS_ALREADYBLCARD		122		
#define ERR_POS_NOTBLCARD		123		
#define ERR_POS_UNKOWNCMD		124		
#define ERR_POS_BLISFULL		125		
#define ERR_POS_HAVENTTIMESBLK		126		
#define ERR_POS_ERRORPARM		127		
#define ERR_POS_ERRORCHKCARD		128		
#define ERR_POS_ALREADYAUTH		129		
#define ERR_POS_NOAUTHREQUEST		130		
#define ERR_POS_NOTSAMERANDOM		131		
#define ERR_POS_GETRANDOM		132		
#define ERR_POS_DEVICENOTAUTH		133		
#define ERR_POS_LIMITDATE		134		
#define ERR_POS_SAMELIMITDATE		135	
#define ERR_POS_MUCHMOREMONEY		136	
#define ERR_POS_CARDRESTORE		137	
#define ERR_POS_GETDATETIME		138
#define ERR_POS_SETDATETIME		139
#define ERR_POS_NOTENOUGHMONEY		140

#define CARD_NEW_CARD	 		50
#define CARD_DATA_GATHER 		61		
#define CARD_DEV_SET 			62			
#define CARD_LINE_SET 			63		
#define CARD_NUMBER_SET 		64		
#define CARD_DELAY_SET 			65		
#define CARD_TOLL_START 		66		
#define CARD_TIME_SET 			67		
#define CARD_LEV_BUS 			68			
#define CARD_ARV_BUS 			69			
#define CARD_DRIVER_BUS 		70		
#define CARD_CLERK_BUS 			71		
#define CARD_AUTHEN_DEV 		72		
#define CARD_MONTH_STA 			73

#define CHARGETYPE_INCMONEY		0x13 
#define CHARGETYPE_INCTIMES		0x23 
#define CHARGETYPE_SALE			0x05 
#define CHARGETYPE_DECMONEY		0x14 
#define CHARGETYPE_DECTIMES		0x24 
#define CHARGETYPE_PURMONEY		0x11 
#define CHARGETYPE_PURTIMES		0x21 
#define CHARGETYPE_RETURN		0x06
#define CHARGETYPE_LOGON		0x30

#define MIF_READ 			0x00
#define MIF_WRITE			0x01

#define MODE_CHARGE_MONEY 		0xA1
#define MODE_CHARGE_TIMES 		0xA2

#define RT_DB_INDEX         0 
#define BL_DB_INDEX         1
#define TD_DB_INDEX1         2
#define TD_DB_INDEX2         3
#define TD_DB_INDEX3         4

#define ICON_TYPEA_SEG		0
#define ICON_TYPEA		0x40
#define ICON_TYPEB_SEG		0
#define ICON_TYPEB		0x20
#define ICON_SPEAKER_SEG	0
#define ICON_SPEAKER_ON		0x10
#define ICON_SPEAKER_OF		0x18
#define ICON_BELL_SEG		0
#define ICON_BELL		0x04
#define ICON_ANTENNA_SEG	0
#define ICON_ANTENNA		0x02
#define ICON_ANTENNA_MASK	0xfd
#define ICON_LINK_SEG		0
#define ICON_LINK		0x01
#define ICON_LINK_MASK		0xfe
#define ICON_BATTERY_SEG	1
#define ICON_BATTERY_0		0x10
#define ICON_BATTERY_1		0x11
#define ICON_BATTERY_2		0x13
#define ICON_BATTERY_3		0x17
#define ICON_BATTERY_FULL	0x1f
#define ICON_RF_SEG		2
#define ICON_RF			0x01
#define ICON_RF_MASK		0xfe

struct sttMenu
{
	unsigned char *pTitle;
	unsigned char cItemNum;
	unsigned char **ppItem;
	unsigned char cCursorPosition;
};

struct sttCardKey
{
	unsigned long lSerialNo;	//卡序列号
	unsigned char cKeyA[16][6];	//各扇区A密码表
	unsigned char cKeyB[16][6];	//各扇区B密码表
};

#define SECTOR_DIR		0x01 
#define SECTOR_PUBLISH		0x02 
#define SECTOR_MONEY		0x04 
#define SECTOR_HISTORY		0x08 
#define SECTOR_PUBLIC		0x10 
#define SECTOR_TIMES		0x20 
#define SECTOR_ALL		0x3f 

#define MASK_SECTOR_DIR		0xfe 
#define MASK_SECTOR_PUBLISH	0xfd 
#define MASK_SECTOR_MONEY	0xfb 
#define MASK_SECTOR_HISTORY	0xf7 
#define MASK_SECTOR_PUBLIC	0xef 
#define MASK_SECTOR_TIMES	0xdf 
#define MASK_SECTOR_ALL		0xc0

struct sttCardStruct
{
	unsigned char cDirSector;						
	unsigned char cPublishSector;					
	unsigned char cMoneySector;						
	unsigned char cHistorySector[3];					
	unsigned char cPublicSector;						
	unsigned char cOddTimesSector;					
	unsigned char cEveTimesSector;					
};

struct sttCardInfomation
{
	unsigned char cCardKeyIndex;
	
	unsigned long lSerialNo;					
	unsigned char cKeyVerision;				
	struct sttCardStruct stCardStruct;	
	
	unsigned char cCityCode[2];				
	unsigned char cTradeCode[2];				
	unsigned long lCardNo;				
	unsigned char cAuthenCode[4];		
	unsigned char cUsageFlag;			
	unsigned char cCardType;				
	unsigned char cCardVer;				
	unsigned char cNewDate[4];			
	unsigned char cLimitDate[4];			
	unsigned char cUseDate[4];		
	unsigned short iPreMoney;	
				
	unsigned char cLastChargeDateTime[4];
	unsigned long lLastMoney;			
	unsigned short iLastChargeMoney;		
	unsigned char cLastChargeWorker[2];	
	
	unsigned long lMoneySum;				
	unsigned long lCurMoney;				
	unsigned char cChargeDevice[4];		
	unsigned long lMoney;				
	unsigned long lMoneyBak;	
				
	unsigned char cHistoryTime[4];				
	unsigned long lHistoryMoney;				
	unsigned long lHistoryChargeMoney;			
	unsigned char cHistoryChargeType;				
	unsigned char cHistoryPSAMNo[4];
				
	unsigned char cHisCharge;
	unsigned short iMoneyTotleTimes;		
	unsigned char cChargeStep;			
	unsigned short iTimesTotleTimes;		
	unsigned char cBlackListFlag;		
	unsigned char cFileFlag;				

	unsigned long lTimes;
	unsigned long lTimesBak;

	unsigned char cGetInfoFinished;		
	
	unsigned char cHisCharge2;
	unsigned char cServerBlackListFlag;
};

struct sttChargeRecord					
{
	unsigned char cSerialNo[4];			
	unsigned char cCityCode[2];
	unsigned char cTradeCode[2];
	unsigned char cCardNo[4];
	unsigned char cCardAuthenCode[4];
	unsigned char cCardType;				
	unsigned char cTotleChargeTimes[2];	
	unsigned char cMoneyOrTimes[4];		
	unsigned char cChargeMoneyOrTimes[3];
	unsigned char cChargeDateTime[7];	
	unsigned char cChargeType;			
	unsigned char cDate[2];				
	unsigned char cTAC[4];				
	char cRecordType;					
	char cUploadFlag;					
};

struct sttSysRunTime
{
	unsigned short sSysVersion;              //系统版本号
	unsigned char  cLastTradeHandleDb;
	unsigned long  lLastTradeHandle;         //最后加入交易纪录的下一个位置
	unsigned char  cLastGatherFromDb; 
	unsigned long  lLastGatherFrom;          //最后采集从
	unsigned char  cLastGatherToDb;
	unsigned long  lLastGatherTo;		 //最后采集到,这个区间是[lLastGatherFrom,lLastGatherTo)
	unsigned char  cLastGatherDateTime[7];   //最后采集日期时间
	unsigned char  cLastBLDateTime[7];	 //最后黑名单日期时间
	
//	unsigned short iTradeTimes;		//交易次数总数
//	unsigned long lTradeMoney;		//交易金额总额
	unsigned long lTradeCounter;		
	//unsigned char  reserver[995];	         //保留 	
};

struct sttKeyMarkSet
{
	unsigned char KeyVer;
	unsigned char PublicKey[8];
	unsigned char Key00B;
	unsigned char Key01A;
	unsigned char Key01B;
	unsigned char Key02A;
	unsigned char Key02B;
	unsigned char Key03B;
	unsigned char Key07A;
	unsigned char Key07B;
	unsigned char KeyCardMAC;
	unsigned char KeyTradeMAC;
};

struct sttPacketHead
{
	unsigned char  cBuildDateTime[7];
	unsigned char  cSAMNo[8];
	unsigned char  cSerial[2];
	unsigned char  cTradeSerialNo[4];
	unsigned char  cRecordNumber[2];
	unsigned char  cBcc;	
};

struct sttBlackListHead
{
	unsigned char  cBuildDateTime[7];
	unsigned char  cSerial[2];
	unsigned char  cBlackNumber[2];
	unsigned char  cBcc;
};

unsigned char gcSAMNo[8];
unsigned char gcWorkerNo[4];
unsigned char gcRandom[8];
unsigned char gcEncryptRandom[8];
unsigned char gcAuthenMode;	//0表示未认证,1表示产生了随机数,2表示认证完成

unsigned char gcATQ[3];	
unsigned char gcATS[2];
unsigned char gcMifBuffer[16];
unsigned char gcSector, gcBlock;
unsigned char gcGetKeyFinished;
unsigned long glSerialNo, glOldSerialNo;

struct sttCardKey gstWorkCardKey ;		//正在处理的卡的密码列表
struct sttCardInfomation gstWorkCardInfomation;	//正在处理的卡的信息列表
struct sttChargeRecord gstWorkChargeRecord;	//刚生成的交易纪录
struct sttChargeRecord gstQueryChargeRecord;	//查询用的交易纪录

struct sttCardKey gstWorkCardKey ;		//正在处理的卡的密码列表
struct sttCardInfomation gstWorkCardInfomation;	//正在处理的卡的信息列表
struct sttChargeRecord gstWorkChargeRecord;	//刚生成的交易纪录
unsigned char gcKeyA1[6], gcKeyB1[6];
unsigned char gcKeyMarkSetNum;						
struct sttKeyMarkSet gstKeyMarkSet[5];
unsigned char gcMoneyMarsterBlock, gcTimesMarsterBlock;
typ_RTC_date_rec guDate;
typ_RTC_time_rec guTime;
unsigned char gcASCDateTime[14], gcNowTime[7], gcHexNowTime[7], gcChargeTimesDate[3];
unsigned char gcPSAMNo[14];
unsigned char gcChargeMode, gcChargeMode2;
unsigned long glChargeMoney;
unsigned char gcChargeType;
unsigned char gcNewCardType, gcLimitDate[4];
//unsigned int giBlackListNum;
//unsigned long gcBlackList[1000];
unsigned long glTradeCounter;
unsigned char gcCommMsgRow;
char gcIconData[8];

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -