[Pcsclite-cvs-commit] Drivers/ccid/src ccid.c,1.4,1.5
rousseau@haydn.debian.org
rousseau@haydn.debian.org
- Previous message: [Pcsclite-cvs-commit] Drivers/ccid/examples Makefile.am,NONE,1.1 scardcontrol.c,NONE,1.1
- Next message: [Pcsclite-cvs-commit] Drivers/ccid/src commands.c,1.11,1.12 ccid_ifdhandler.h,1.8,1.9 commands.h,1.5,1.6 ifdhandler.c,1.29,1.30
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/pcsclite/Drivers/ccid/src
In directory haydn:/tmp/cvs-serv24725/src
Modified Files:
ccid.c
Log Message:
- add some missing error codes
- low error values indicate the byte in error in the CCID frame
Index: ccid.c
===================================================================
RCS file: /cvsroot/pcsclite/Drivers/ccid/src/ccid.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- ccid.c 17 May 2004 14:39:22 -0000 1.4
+++ ccid.c 24 May 2004 09:58:43 -0000 1.5
@@ -60,7 +60,7 @@
{
unsigned char cmd[] = "\xA0\x02";
unsigned char res[10];
- unsigned long length_res = sizeof(res);
+ int length_res = sizeof(res);
if (CmdEscape(lun, cmd, sizeof(cmd)-1, res, &length_res) == IFD_SUCCESS)
{
@@ -93,24 +93,8 @@
text = "Wrong command length";
break;
- case 0x02:
- text = "Reader detects an excessive current. Card powered off";
- break;
-
- case 0x03:
- text = "Reader detects a defective voltage. Card powered off";
- break;
-
case 0x05:
- text = "Slot number is invalid (it must be set to 0)";
- break;
-
- case 0x07:
- case 0x08:
- case 0x09:
- case 0x0A:
- case 0x15:
- text = "Byte displayed is invalid";
+ text = "Invalid slot number";
break;
case 0xA2:
@@ -121,6 +105,10 @@
text = "ATR too long (> 33)";
break;
+ case 0xAB:
+ text = "No data exchanged";
+ break;
+
case 0xB0:
text = "Reader in EMV mode and T=1 message too long";
break;
@@ -137,10 +125,38 @@
text = "Wrong APDU command length";
break;
+ case 0xE0:
+ text = "Slot busy";
+ break;
+
+ case 0xEF:
+ text = "PIN cancelled";
+ break;
+
+ case 0xF0:
+ text = "PIN timeout";
+ break;
+
+ case 0xF2:
+ text = "Busy with autosequence";
+ break;
+
+ case 0xF3:
+ text = "Deactivated protocol";
+ break;
+
case 0xF4:
text = "Procedure byte conflict";
break;
+ case 0xF5:
+ text = "Class not supported";
+ break;
+
+ case 0xF6:
+ text = "Protocol not supported";
+ break;
+
case 0xF7:
text = "Invalid ATR checksum byte (TCK)";
break;
@@ -149,6 +165,14 @@
text = "Invalid ATR first byte";
break;
+ case 0xFB:
+ text = "Hardware error";
+ break;
+
+ case 0xFC:
+ text = "Overrun error";
+ break;
+
case 0xFD:
text = "Parity error during exchange";
break;
@@ -157,10 +181,21 @@
text = "Card absent or mute";
break;
- default:
- text = "Unknown CCID error";
+ case 0xFF:
+ text = "Activity aborted by Host";
break;
+ default:
+ if ((error >= 1) && (error <= 127))
+ {
+ char var_text[20];
+
+ sprintf(var_text, "error on byte %d", error);
+ text = var_text;
+ }
+ else
+ text = "Unknown CCID error";
+ break;
}
debug_msg("%s:%d %s", file, line, text);
- Previous message: [Pcsclite-cvs-commit] Drivers/ccid/examples Makefile.am,NONE,1.1 scardcontrol.c,NONE,1.1
- Next message: [Pcsclite-cvs-commit] Drivers/ccid/src commands.c,1.11,1.12 ccid_ifdhandler.h,1.8,1.9 commands.h,1.5,1.6 ifdhandler.c,1.29,1.30
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]