| 553 |
switch (pcbuffer[7]) /* bStatus */ |
switch (pcbuffer[7]) /* bStatus */ |
| 554 |
{ |
{ |
| 555 |
case 0x00: |
case 0x00: |
|
return_value = IFD_ICC_PRESENT; |
|
|
break; |
|
|
|
|
| 556 |
case 0x01: |
case 0x01: |
| 557 |
return_value = IFD_ICC_PRESENT; |
return_value = IFD_ICC_PRESENT; |
| 558 |
break; |
break; |
| 559 |
|
|
| 560 |
case 0x02: |
case 0x02: |
| 561 |
|
/* Reset ATR buffer */ |
| 562 |
|
CcidSlots[LunToReaderIndex(Lun)].nATRLength = 0; |
| 563 |
|
*CcidSlots[LunToReaderIndex(Lun)].pcATRBuffer = '\0'; |
| 564 |
|
|
| 565 |
|
/* Reset PowerFlags */ |
| 566 |
|
CcidSlots[LunToReaderIndex(Lun)].bPowerFlags = POWERFLAGS_RAZ; |
| 567 |
|
|
| 568 |
return_value = IFD_ICC_NOT_PRESENT; |
return_value = IFD_ICC_NOT_PRESENT; |
| 569 |
break; |
break; |
| 570 |
} |
} |
| 715 |
/* clear T=1 context */ |
/* clear T=1 context */ |
| 716 |
Protocol_T1_Close(&((get_ccid_slot(lun)) -> t1)); |
Protocol_T1_Close(&((get_ccid_slot(lun)) -> t1)); |
| 717 |
|
|
| 718 |
|
/* Reset ATR buffer */ |
| 719 |
|
CcidSlots[LunToReaderIndex(lun)].nATRLength = 0; |
| 720 |
|
*CcidSlots[LunToReaderIndex(lun)].pcATRBuffer = '\0'; |
| 721 |
|
|
| 722 |
|
/* Reset PowerFlags */ |
| 723 |
|
CcidSlots[LunToReaderIndex(lun)].bPowerFlags = POWERFLAGS_RAZ; |
| 724 |
|
|
| 725 |
return IFD_SUCCESS; |
return IFD_SUCCESS; |
| 726 |
} /* CardDown */ |
} /* CardDown */ |
| 727 |
|
|