This provides a low-level reader specific interface for the smart cards. This dirver is used with the Linux PCSC interface library see http://www.linuxnet.com.
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.
Data Structures | |
| struct | SCARD_IO_HEADER |
Defines | |
| #define | TAG_IFD_ATR 0x0303 |
| #define | TAG_IFD_SLOTNUM 0x0180 |
| #define | TAG_IFD_SLOT_THREAD_SAFE 0x0FAC |
| #define | TAG_IFD_THREAD_SAFE 0x0FAD |
| #define | TAG_IFD_SLOTS_NUMBER 0x0FAE |
| #define | TAG_IFD_SIMULTANEOUS_ACCESS 0x0FAF |
| #define | IFD_HVERSION_1_0 0x00010000 |
| #define | IFD_POWER_UP 500 /**< Power up action */ |
| #define | IFD_POWER_DOWN 501 /**< Power down action */ |
| #define | IFD_RESET 502 /**< Reset Action */ |
| #define | IFD_NEGOTIATE_PTS1 1 |
| #define | IFD_NEGOTIATE_PTS2 2 |
| #define | IFD_NEGOTIATE_PTS3 4 |
| #define | IFD_SUCCESS 0 |
| #define | IFD_ERROR_TAG 600 |
| #define | IFD_ERROR_SET_FAILURE 601 |
| #define | IFD_ERROR_VALUE_READ_ONLY 602 |
| #define | IFD_ERROR_PTS_FAILURE 605 |
| #define | IFD_ERROR_NOT_SUPPORTED 606 |
| #define | IFD_PROTOCOL_NOT_SUPPORTED 607 |
| #define | IFD_ERROR_POWER_ACTION 608 |
| #define | IFD_ERROR_SWALLOW 609 |
| #define | IFD_ERROR_EJECT 610 |
| #define | IFD_ERROR_CONFISCATE 611 |
| #define | IFD_COMMUNICATION_ERROR 612 |
| #define | IFD_RESPONSE_TIMEOUT 613 |
| #define | IFD_NOT_SUPPORTED 614 |
| #define | IFD_ICC_PRESENT 615 |
| #define | IFD_ICC_NOT_PRESENT 616 |
Typedefs | |
| typedef * | PSCARD_IO_HEADER |
Functions | |
| RESPONSECODE | IFDHCreateChannel (LONG, LONG) |
| Called to open a channel to a smart card. | |
| RESPONSECODE | IFDHCloseChannel (LONG) |
| RESPONSECODE | IFDHGetCapabilities (LONG, LONG, LONG *, BYTE *) |
| Return the requested capibilities for a smart card. | |
| RESPONSECODE | IFDHSetCapabilities (LONG, LONG, LONG, BYTE *) |
| Set the smart card capibilities for the smart card. | |
| RESPONSECODE | IFDHSetProtocolParameters (LONG, LONG, BYTE, BYTE, BYTE, BYTE) |
| Set the protocol type selection using the three PTS parameters. | |
| RESPONSECODE | IFDHPowerICC (LONG, LONG, BYTE *, LONG *) |
| Controls the power and reset signals of the smart card. | |
| RESPONSECODE | IFDHTransmitToICC (LONG, SCARD_IO_HEADER, BYTE *, LONG, BYTE *, LONG *, PSCARD_IO_HEADER) |
| Perform an ADPU exchange with the smart card. | |
| RESPONSECODE | IFDHControl (LONG, BYTE *, LONG, BYTE *, LONG *) |
| Perform a data exchange with the smart card reader. | |
| RESPONSECODE | IFDHICCPresence (LONG) |
| Return the status of the card inserted into the reader. | |
|
|
Power down action |
|
|
Power up action |
|
|
Reset Action |
|
|
History |
|
||||||||||||||||||||||||
|
Perform a data exchange with the smart card reader. This is not supported in this implementation
History |
|
||||||||||||
|
Called to open a channel to a smart card. Open the chanel to the smart card. In this implementation the open is done later This will just initialise the channel for comms and allow IFDHICCPresence to return the card status
History |
Here is the call graph for this function:

|
||||||||||||||||||||
|
Return the requested capibilities for a smart card. Return the requested capibilities. At the moment only the ATR is returned all other Tags get ignored and IFD)ERROR is returned. This is what the acs_mouse driver was doing for the basic cards.
History |
|
|
Return the status of the card inserted into the reader. This function is surposed to detect if a smart card is inserted onto the smartcard holder.
History |
|
||||||||||||||||||||
|
Controls the power and reset signals of the smart card. This function is surposed to control the power and reset signals of the smart card. Ok I had to add the extra functionality so lets see how that goes.
History< Reset Action < Power down action < Power up action |
Here is the call graph for this function:

|
||||||||||||||||||||
|
Set the smart card capibilities for the smart card. Return an error code this is what the acs_mouse driver did so this is what we are going to do. At least until I have a resonable need to do something better.
History |
|
||||||||||||||||||||||||||||
|
Set the protocol type selection using the three PTS parameters. Again this is what the acs_mouse driver was doing to this is what I'm going to do until ther eis a better reason to do anything else.
History |
|
||||||||||||||||||||||||||||||||
|
Perform an ADPU exchange with the smart card.
History |
Here is the call graph for this function:

1.3.6