252 #ifndef _ifd_handler_h_ 253 #define _ifd_handler_h_ 322 #define TAG_IFD_ATR 0x0303 323 #define TAG_IFD_SLOTNUM 0x0180 324 #define TAG_IFD_SLOT_THREAD_SAFE 0x0FAC 325 #define TAG_IFD_THREAD_SAFE 0x0FAD 326 #define TAG_IFD_SLOTS_NUMBER 0x0FAE 327 #define TAG_IFD_SIMULTANEOUS_ACCESS 0x0FAF 328 #define TAG_IFD_POLLING_THREAD 0x0FB0 329 #define TAG_IFD_POLLING_THREAD_KILLABLE 0x0FB1 330 #define TAG_IFD_STOP_POLLING_THREAD 0x0FB2 331 #define TAG_IFD_POLLING_THREAD_WITH_TIMEOUT 0x0FB3 336 #define IFD_HVERSION_1_0 0x00010000 337 #define IFD_HVERSION_2_0 0x00020000 338 #define IFD_HVERSION_3_0 0x00030000 343 #define IFD_POWER_UP 500 344 #define IFD_POWER_DOWN 501 345 #define IFD_RESET 502 347 #define IFD_NEGOTIATE_PTS1 1 348 #define IFD_NEGOTIATE_PTS2 2 349 #define IFD_NEGOTIATE_PTS3 4 351 #define IFD_SUCCESS 0 352 #define IFD_ERROR_TAG 600 353 #define IFD_ERROR_SET_FAILURE 601 354 #define IFD_ERROR_VALUE_READ_ONLY 602 355 #define IFD_ERROR_PTS_FAILURE 605 356 #define IFD_ERROR_NOT_SUPPORTED 606 357 #define IFD_PROTOCOL_NOT_SUPPORTED 607 358 #define IFD_ERROR_POWER_ACTION 608 359 #define IFD_ERROR_SWALLOW 609 360 #define IFD_ERROR_EJECT 610 361 #define IFD_ERROR_CONFISCATE 611 362 #define IFD_COMMUNICATION_ERROR 612 363 #define IFD_RESPONSE_TIMEOUT 613 364 #define IFD_NOT_SUPPORTED 614 365 #define IFD_ICC_PRESENT 615 366 #define IFD_ICC_NOT_PRESENT 616 372 #define IFD_NO_SUCH_DEVICE 617 373 #define IFD_ERROR_INSUFFICIENT_BUFFER 618 375 #ifndef RESPONSECODE_DEFINED_IN_WINTYPES_H 376 typedef long RESPONSECODE;
519 RESPONSECODE
IFDHControl(DWORD Lun, DWORD dwControlCode, PUCHAR
520 TxBuffer, DWORD TxLength, PUCHAR RxBuffer, DWORD RxLength,
521 LPDWORD pdwBytesReturned);
531 RESPONSECODE
IFDHControl(DWORD Lun, PUCHAR TxBuffer, DWORD TxLength,
532 PUCHAR RxBuffer, PDWORD RxLength);
718 UCHAR PTS1, UCHAR PTS2, UCHAR PTS3);
751 RESPONSECODE
IFDHPowerICC(DWORD Lun, DWORD Action, PUCHAR Atr, PDWORD
806 PUCHAR TxBuffer, DWORD TxLength, PUCHAR RxBuffer, PDWORD
DWORD Card_Auth_Devices
Tag 0x0140.
RESPONSECODE IFDHTransmitToICC(DWORD Lun, SCARD_IO_HEADER SendPci, PUCHAR TxBuffer, DWORD TxLength, PUCHAR RxBuffer, PDWORD RxLength, PSCARD_IO_HEADER RecvPci)
This function performs an APDU exchange with the card/slot specified by Lun.
DWORD Default_Data_Rate
Tag 0x0123.
DWORD Max_Data_Rate
Tag 0x0124.
UCHAR ATR[MAX_ATR_SIZE]
Tag 0x0303.
UCHAR ICC_Interface_Status
Tag 0x0301.
DWORD Max_Clock
Tag 0x0122.
DWORD Default_Clock
Tag 0x0121.
DWORD Current_D
Tag 0x0204.
DWORD Current_BWT
Tag 0x0209.
RESPONSECODE IFDHCloseChannel(DWORD Lun)
This function should close the reader communication channel for the particular reader.
RESPONSECODE IFDHCreateChannel(DWORD Lun, DWORD Channel)
This function is required to open a communications channel to the port listed by Channel...
DWORD Current_CWT
Tag 0x020A.
RESPONSECODE IFDHSetProtocolParameters(DWORD Lun, DWORD Protocol, UCHAR Flags, UCHAR PTS1, UCHAR PTS2, UCHAR PTS3)
This function should set the Protocol Type Selection (PTS) of a particular card/slot using the three...
DWORD Protocol_Type
Tag 0x0201.
UCHAR ICC_Presence
Tag 0x0300.
RESPONSECODE IFDHPowerICC(DWORD Lun, DWORD Action, PUCHAR Atr, PDWORD AtrLength)
This function controls the power and reset signals of the smart card reader at the particular reader...
struct _SCARD_IO_HEADER SCARD_IO_HEADER
Use by SCardTransmit()
DWORD Current_IFSC
Tag 0x0207.
RESPONSECODE IFDHGetCapabilities(DWORD Lun, DWORD Tag, PDWORD Length, PUCHAR Value)
This function should get the slot/card capabilities for a particular slot/card specified by Lun...
DWORD Current_IFSD
Tag 0x0208.
DWORD User_Auth_Device
Tag 0x0142.
DWORD Mechanics_Supported
Tag 0x0150.
RESPONSECODE IFDHCreateChannelByName(DWORD Lun, LPSTR DeviceName)
This function is required to open a communications channel to the port listed by DeviceName...
LPSTR IFD_Type
Tag 0x0101.
RESPONSECODE IFDHControl(DWORD Lun, DWORD dwControlCode, PUCHAR TxBuffer, DWORD TxLength, PUCHAR RxBuffer, DWORD RxLength, LPDWORD pdwBytesReturned)
This function performs a data exchange with the reader (not the card) specified by Lun...
DWORD IFD_Version
Tag 0x0102.
DWORD Power_Mgmt
Tag 0x0131.
DWORD IFD_Channel_ID
Tag 0x0110.
DWORD Synch_Supported
Tag 0x0126.
This keeps a list of defines for pcsc-lite.
DWORD Max_IFSD
Tag 0x0125.
DWORD Vendor_Features
Tag 0x0180 - 0x01F0 User Defined.
LPSTR Vendor_Name
Tag 0x0100.
DWORD Current_N
Tag 0x0205.
DWORD Current_F
Tag 0x0203.
DWORD Current_Clock
Tag 0x0202.
RESPONSECODE IFDHICCPresence(DWORD Lun)
This function returns the status of the card inserted in the reader/slot specified by Lun...
#define MAX_ATR_SIZE
Maximum ATR size.
DWORD Current_W
Tag 0x0206.
RESPONSECODE IFDHSetCapabilities(DWORD Lun, DWORD Tag, DWORD Length, PUCHAR Value)
This function should set the slot/card capabilities for a particular slot/card specified by Lun...
DWORD Current_EBC
Tag 0x020B.
DWORD Asynch_Supported
Tag 0x0120.
UCHAR ICC_Type
Tag 0x0304.
LPSTR IFD_Serial
Tag 0x0103.