Go to the documentation of this file.
251 #ifndef _ifd_handler_h_
252 #define _ifd_handler_h_
321 #define TAG_IFD_ATR 0x0303
322 #define TAG_IFD_SLOTNUM 0x0180
323 #define TAG_IFD_SLOT_THREAD_SAFE 0x0FAC
324 #define TAG_IFD_THREAD_SAFE 0x0FAD
325 #define TAG_IFD_SLOTS_NUMBER 0x0FAE
326 #define TAG_IFD_SIMULTANEOUS_ACCESS 0x0FAF
327 #define TAG_IFD_POLLING_THREAD 0x0FB0
328 #define TAG_IFD_POLLING_THREAD_KILLABLE 0x0FB1
329 #define TAG_IFD_STOP_POLLING_THREAD 0x0FB2
330 #define TAG_IFD_POLLING_THREAD_WITH_TIMEOUT 0x0FB3
335 #define IFD_HVERSION_1_0 0x00010000
336 #define IFD_HVERSION_2_0 0x00020000
337 #define IFD_HVERSION_3_0 0x00030000
342 #define IFD_POWER_UP 500
343 #define IFD_POWER_DOWN 501
344 #define IFD_RESET 502
346 #define IFD_NEGOTIATE_PTS1 1
347 #define IFD_NEGOTIATE_PTS2 2
348 #define IFD_NEGOTIATE_PTS3 4
350 #define IFD_SUCCESS 0
351 #define IFD_ERROR_TAG 600
352 #define IFD_ERROR_SET_FAILURE 601
353 #define IFD_ERROR_VALUE_READ_ONLY 602
354 #define IFD_ERROR_PTS_FAILURE 605
355 #define IFD_ERROR_NOT_SUPPORTED 606
356 #define IFD_PROTOCOL_NOT_SUPPORTED 607
357 #define IFD_ERROR_POWER_ACTION 608
358 #define IFD_ERROR_SWALLOW 609
359 #define IFD_ERROR_EJECT 610
360 #define IFD_ERROR_CONFISCATE 611
361 #define IFD_COMMUNICATION_ERROR 612
362 #define IFD_RESPONSE_TIMEOUT 613
363 #define IFD_NOT_SUPPORTED 614
364 #define IFD_ICC_PRESENT 615
365 #define IFD_ICC_NOT_PRESENT 616
371 #define IFD_NO_SUCH_DEVICE 617
372 #define IFD_ERROR_INSUFFICIENT_BUFFER 618
374 #ifndef RESPONSECODE_DEFINED_IN_WINTYPES_H
375 typedef long RESPONSECODE;
519 TxBuffer, DWORD TxLength, PUCHAR RxBuffer, DWORD RxLength,
520 LPDWORD pdwBytesReturned);
530 RESPONSECODE
IFDHControl(DWORD Lun, PUCHAR TxBuffer, DWORD TxLength,
531 PUCHAR RxBuffer, PDWORD RxLength);
717 UCHAR PTS1, UCHAR PTS2, UCHAR PTS3);
805 PUCHAR TxBuffer, DWORD TxLength, PUCHAR RxBuffer, PDWORD
DWORD Asynch_Supported
Tag 0x0120.
LPSTR IFD_Serial
Tag 0x0103.
DWORD Current_EBC
Tag 0x020B.
DWORD Current_D
Tag 0x0204.
DWORD Card_Auth_Devices
Tag 0x0140.
UCHAR ATR[MAX_ATR_SIZE]
Tag 0x0303.
RESPONSECODE IFDHICCPresence(DWORD Lun)
This function returns the status of the card inserted in the reader/slot specified by Lun.
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.
UCHAR ICC_Presence
Tag 0x0300.
DWORD Default_Clock
Tag 0x0121.
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 ...
RESPONSECODE IFDHCloseChannel(DWORD Lun)
This function should close the reader communication channel for the particular reader.
DWORD Current_W
Tag 0x0206.
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 Max_Clock
Tag 0x0122.
DWORD Default_Data_Rate
Tag 0x0123.
DWORD Max_Data_Rate
Tag 0x0124.
RESPONSECODE IFDHCreateChannel(DWORD Lun, DWORD Channel)
This function is required to open a communications channel to the port listed by Channel.
DWORD Protocol_Type
Tag 0x0201.
DWORD IFD_Version
Tag 0x0102.
DWORD Current_IFSC
Tag 0x0207.
DWORD Mechanics_Supported
Tag 0x0150.
DWORD Synch_Supported
Tag 0x0126.
LPSTR IFD_Type
Tag 0x0101.
DWORD Current_CWT
Tag 0x020A.
struct _SCARD_IO_HEADER SCARD_IO_HEADER
Use by SCardTransmit()
DWORD Current_N
Tag 0x0205.
#define MAX_ATR_SIZE
Maximum ATR size.
DWORD User_Auth_Device
Tag 0x0142.
RESPONSECODE IFDHCreateChannelByName(DWORD Lun, LPSTR DeviceName)
This function is required to open a communications channel to the port listed by DeviceName.
LPSTR Vendor_Name
Tag 0x0100.
DWORD Current_IFSD
Tag 0x0208.
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/...
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 Power_Mgmt
Tag 0x0131.
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 IFD_Channel_ID
Tag 0x0110.
UCHAR ICC_Interface_Status
Tag 0x0301.
DWORD Vendor_Features
Tag 0x0180 - 0x01F0 User Defined.
DWORD Max_IFSD
Tag 0x0125.
DWORD Current_F
Tag 0x0203.
DWORD Current_Clock
Tag 0x0202.
UCHAR ICC_Type
Tag 0x0304.
This keeps a list of defines for pcsc-lite.
DWORD Current_BWT
Tag 0x0209.