123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- #ifndef __ICDATA_ELEMENT_H
- #define __ICDATA_ELEMENT_H
- #pragma once
- #include <string>
- #include <vector>
- using namespace std;
- #include "DeviceBaseClass.h"
- #define TAGLENFLAG 0x1f
- #define DATALENFLAG 0x80
- #define DATALENVALUE 0x7f
- #define CARDHOLDERVERIFYFLAG 0x10
- //TVR
- #define TVR_IC_Data_Miss 0x20
- #define TVR_CVM_Unkown 0x40
- #define TVR_CVM_Failed 0x80
- #define TVR_APP_VERSION_UNMATCH 0x80
- const int TVR_ISSUER_BANK_AUTH_FAIL = 0x40;
- //TSI
- const int TSI_CARDHOLDER_VERIFY = 0x40;
- const int TSI_TERM_RISK_MANAGE = 0x08;
- const int TSI_ISSUER_BANK_AUTH = 0x10;
- //AIP
- const int AIP_CARDHOLDER_VERIFY =0x10;
- const int AIP_TERM_RISK_MANAGE = 0x08;
- const int AIP_ISSUER_BANK_AUTH = 0x04;
- //定义GAC指令参数
- const BYTE CLS_GENAC = 0x80;
- const BYTE CLS_EX_AUTH = 0x00;
- const BYTE CLS_GET_RESPONSE = 0x00;
- const BYTE INS_GENAC = 0xAE;
- const BYTE INS_EX_AUTH = 0x82;
- const BYTE INS_GET_RESPONSE = 0xc0;
- #define P2_GENAC 0x00
- #define P1_GENAC_AAC 0x00
- #define P1_GENAC_TC 0x40
- #define P1_GENAC_ARQC 0x80
- #define P1_GENAC_CDA 0x10
- struct CommandData
- {
- //CommandData(BYTE bCls,BYTE bIns,BYTE bP1,BYTE bP2,BYTE bLc,LPBYTE* bPData,LPBYTE bLe)
- //{
- // cls = bCls;
- // ins = bIns;
- // p1 = bP1;
- // p2 = bP2;
- // lc = bLc;
- // pData = *bPData;
- // le = *bLe;
- //}
- BYTE cls;
- BYTE ins;
- BYTE p1;
- BYTE p2;
- BYTE lc;
- LPBYTE pData;
- BYTE le;
- };
- struct AIDData
- {
- LPBYTE aid;
- BYTE len;
- BYTE asiFlag;//oiltest read from machine 0 partly;1 completed
- };
- struct ADFRecord
- {
- ADFRecord()
- {
- name = appLabel = priName = NULL;
- appPriID = 0x00;
- nameLen=appLabelLen=priNameLen=appPriIDLen=0;
- }
- LPBYTE name;
- LPBYTE appLabel;
- LPBYTE priName;
- BYTE appPriID;
- int nameLen,appLabelLen,priNameLen,appPriIDLen;
- };
- struct PSEData
- {
- int level;
- bool model;
- bool mandotory;
- string tag;
- string value;
- };
- struct ICData
- {
- ICData(bool f,BYTE b0,BYTE b1,int lev=0,DWORD len = 0,int num = 0,LPBYTE pData=NULL)
- {
- level = lev;
- tag[0] = b0;
- tag[1] = b1;
- bForm = f;
- lenth = len;
- value = pData;
- }
- ICData()
- {
- lenth = 0;
- value = NULL;
- }
- int level;
- BYTE tag[2];
- bool bForm;
- int num;//标签是模板时表示所含tag数目
- DWORD lenth;
- LPBYTE value;
- };
- #endif //
|