9F39
int setCtlsEntryMode(uchar ucPathType, ushort* uiSubEntryMode, unsigned char ucKenrType) { int iRet = OK_RESULT; unsigned char data[10]; int datalen = 0; memset(data, 0, sizeof(data)); iRet= Clss_GetTLVData(0x9F39, data, &datalen, ucKenrType); //iRet= EMVGetTLVData(0x9F39, data, &datalen); if (iRet == OK_RESULT) { if (memcmp(data, "0x07", datalen) == 0) { (*uiSubEntryMode) = MODE_CONTACTLESS_EMV; } else if (memcmp(data, "0x91", datalen) == 0) { (*uiSubEntryMode) = MODE_CONTACTLESS_MSD; if ( ucPathType == CLSS_VISA_MSD || ucPathType == CLSS_VISA_MSD_CVN17 || ucPathType == CLSS_VISA_MSD_LEGACY || ucPathType == CLSS_MC_MAG || ucPathType == CLSS_JCB_MAG || ucPathType == CLSS_JCB_LEGACY || ucPathType == CLSS_DPAS_MAG || ucPathType == CLSS_DPAS_ZIP ) { return ERROR_MCM_NO_SUPPORTED; } } else { (*uiSubEntryMode) = MODE_CONTACTLESS_EMV; } } else { switch (ucPathType) { case CLSS_VISA_MSD : case CLSS_VISA_MSD_CVN17: case CLSS_VISA_MSD_LEGACY: case CLSS_MC_MAG : case CLSS_JCB_MAG: case CLSS_JCB_LEGACY: case CLSS_DPAS_MAG: case CLSS_DPAS_ZIP: (*uiSubEntryMode) = MODE_CONTACTLESS_MSD; return ERROR_MCM_NO_SUPPORTED; break; case CLSS_VISA_CONTACT: case CLSS_VISA_QVSDC: case CLSS_VISA_VSDC: case CLSS_VISA_WAVE2: case CLSS_MC_MCHIP: case CLSS_JCB_EMV: case CLSS_JCB_WAVE2: case CLSS_DPAS_EMV: (*uiSubEntryMode) = MODE_CONTACTLESS_EMV; break; default: (*uiSubEntryMode) = MODE_CONTACTLESS_EMV; break; } } return iRet; }
Leave a Comment