9F39
unknown
c_cpp
a year ago
1.7 kB
7
Indexable
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;
}Editor is loading...
Leave a Comment