[Pcsclite-cvs-commit] r4368 - /trunk/Drivers/ccid/SCARDCONTOL.txt

rousseau at users.alioth.debian.org rousseau at users.alioth.debian.org
Thu Aug 27 13:31:51 UTC 2009


Author: rousseau
Date: Thu Aug 27 13:31:51 2009
New Revision: 4368

URL: http://svn.debian.org/wsvn/pcsclite/?sc=1&rev=4368
Log:
List of SCardControl() commands supported by the CCID driver

Added:
    trunk/Drivers/ccid/SCARDCONTOL.txt

Added: trunk/Drivers/ccid/SCARDCONTOL.txt
URL: http://svn.debian.org/wsvn/pcsclite/trunk/Drivers/ccid/SCARDCONTOL.txt?rev=4368&op=file
==============================================================================
--- trunk/Drivers/ccid/SCARDCONTOL.txt (added)
+++ trunk/Drivers/ccid/SCARDCONTOL.txt Thu Aug 27 13:31:51 2009
@@ -1,0 +1,62 @@
+List of SCardControl() commands supported by the CCID driver
+============================================================
+
+PC/SC provides the SCardControl() function to send commands to the
+driver and/or reader. Here is the list of supported commands by the CCID
+driver.
+
+
+PC/SC function prototype
+"""""""""""""""""""""""""
+
+LONG SCardControl(
+    SCARDHANDLE hCard,
+    DWORD       dwControlCode,
+    LPCVOID     pbSendBuffer,
+    DWORD       cbSendLength,
+    LPVOID      pbRecvBuffer,
+    DWORD       cbRecvLength,
+    LPDWORD     lpBytesReturned     
+)
+
+Parameters:
+
+[in]     hCard            Connection made from SCardConnect().
+[in]     dwControlCode    Control code for the operation.
+[in]     pbSendBuffer     Command to send to the reader.
+[in]     cbSendLength     Length of the command.
+[out]    pbRecvBuffer     Response from the reader.
+[in]     cbRecvLength     Length of the response buffer.
+[out]    lpBytesReturned  Length of the response.
+
+If the dwControlCode is not supported the application receives the error
+SCARD_E_UNSUPPORTED_FEATURE or SCARD_E_NOT_TRANSACTED as a general error
+code.
+
+
+supported ControlCode
+"""""""""""""""""""""
+
+IOCTL_SMARTCARD_VENDOR_IFD_EXCHANGE
+    defined as SCARD_CTL_CODE(1)
+
+    The pbSendBuffer[] buffer is sent as a PC_to_RDR_Escape CCID command
+    For security possible problems this command in possible in the
+    following cases only:
+    - the reader is a Gemalto (ex Gemplus) reader and the command is:
+     . get firmware version
+     . switch interface on a ProxDU
+    - the ifdDriverOptions (in the Info.plist file) has the bit
+      DRIVER_OPTION_CCID_EXCHANGE_AUTHORIZED set
+
+CM_IOCTL_GET_FEATURE_REQUEST
+    defined as SCARD_CTL_CODE(3400)
+
+    Implements the PC/SC v2.02.05 Part 10 IOCTL mechanism
+
+IOCTL_FEATURE_VERIFY_PIN_DIRECT
+IOCTL_FEATURE_MODIFY_PIN_DIRECT
+IOCTL_FEATURE_IFD_PIN_PROPERTIES
+IOCTL_FEATURE_MCT_READERDIRECT
+    See PC/SC v2.02.05 Part 10
+




More information about the Pcsclite-cvs-commit mailing list