pcsc-lite 2.3.0
ifdwrapper.c File Reference

This wraps the dynamic ifdhandler functions. More...

#include <errno.h>
#include <unistd.h>
#include <pthread.h>
#include "config.h"
#include "misc.h"
#include "pcscd.h"
#include "debuglog.h"
#include "readerfactory.h"
#include "ifdwrapper.h"
#include "atrhandler.h"
#include "dyn_generic.h"
#include "sys_generic.h"
#include "utils.h"

Go to the source code of this file.

Functions

RESPONSECODE IFDSetPTS (READER_CONTEXT *rContext, DWORD dwProtocol, UCHAR ucFlags, UCHAR ucPTS1, UCHAR ucPTS2, UCHAR ucPTS3)
 Set the protocol type selection (PTS).
 
RESPONSECODE IFDOpenIFD (READER_CONTEXT *rContext)
 Open a communication channel to the IFD.
 
RESPONSECODE IFDCloseIFD (READER_CONTEXT *rContext)
 Close a communication channel to the IFD.
 
RESPONSECODE IFDSetCapabilities (READER_CONTEXT *rContext, DWORD dwTag, DWORD dwLength, PUCHAR pucValue)
 Set capabilities in the reader.
 
RESPONSECODE IFDGetCapabilities (READER_CONTEXT *rContext, DWORD dwTag, PDWORD pdwLength, PUCHAR pucValue)
 Gets capabilities in the reader.
 
RESPONSECODE IFDPowerICC (READER_CONTEXT *rContext, DWORD dwAction, PUCHAR pucAtr, PDWORD pdwAtrLen)
 Power up/down or reset's an ICC located in the IFD.
 
LONG IFDStatusICC (READER_CONTEXT *rContext, PDWORD pdwStatus)
 Provide statistical information about the IFD and ICC including insertions, atr, powering status/etc.
 
LONG IFDControl_v2 (READER_CONTEXT *rContext, PUCHAR TxBuffer, DWORD TxLength, PUCHAR RxBuffer, PDWORD RxLength)
 
LONG IFDControl (READER_CONTEXT *rContext, DWORD ControlCode, LPCVOID TxBuffer, DWORD TxLength, LPVOID RxBuffer, DWORD RxLength, LPDWORD BytesReturned)
 Provide a means for toggling a specific action on the reader such as swallow, eject, biometric.
 
LONG IFDTransmit (READER_CONTEXT *rContext, SCARD_IO_HEADER pioTxPci, PUCHAR pucTxBuffer, DWORD dwTxLength, PUCHAR pucRxBuffer, PDWORD pdwRxLength, PSCARD_IO_HEADER pioRxPci)
 Transmit an APDU to the ICC.
 

Detailed Description

This wraps the dynamic ifdhandler functions.

Definition in file ifdwrapper.c.

Function Documentation

◆ IFDCloseIFD()

RESPONSECODE IFDCloseIFD ( READER_CONTEXT * rContext)

Close a communication channel to the IFD.

Definition at line 163 of file ifdwrapper.c.

◆ IFDControl()

LONG IFDControl ( READER_CONTEXT * rContext,
DWORD ControlCode,
LPCVOID TxBuffer,
DWORD TxLength,
LPVOID RxBuffer,
DWORD RxLength,
LPDWORD BytesReturned )

Provide a means for toggling a specific action on the reader such as swallow, eject, biometric.

Definition at line 447 of file ifdwrapper.c.

◆ IFDControl_v2()

LONG IFDControl_v2 ( READER_CONTEXT * rContext,
PUCHAR TxBuffer,
DWORD TxLength,
PUCHAR RxBuffer,
PDWORD RxLength )

Definition at line 396 of file ifdwrapper.c.

◆ IFDGetCapabilities()

RESPONSECODE IFDGetCapabilities ( READER_CONTEXT * rContext,
DWORD dwTag,
PDWORD pdwLength,
PUCHAR pucValue )

Gets capabilities in the reader.

Other functions int this file will call the driver directly to not cause a deadlock.

Definition at line 240 of file ifdwrapper.c.

◆ IFDOpenIFD()

RESPONSECODE IFDOpenIFD ( READER_CONTEXT * rContext)

Open a communication channel to the IFD.

Definition at line 105 of file ifdwrapper.c.

◆ IFDPowerICC()

RESPONSECODE IFDPowerICC ( READER_CONTEXT * rContext,
DWORD dwAction,
PUCHAR pucAtr,
PDWORD pdwAtrLen )

Power up/down or reset's an ICC located in the IFD.

Definition at line 270 of file ifdwrapper.c.

◆ IFDSetCapabilities()

RESPONSECODE IFDSetCapabilities ( READER_CONTEXT * rContext,
DWORD dwTag,
DWORD dwLength,
PUCHAR pucValue )

Set capabilities in the reader.

Definition at line 209 of file ifdwrapper.c.

◆ IFDSetPTS()

RESPONSECODE IFDSetPTS ( READER_CONTEXT * rContext,
DWORD dwProtocol,
UCHAR ucFlags,
UCHAR ucPTS1,
UCHAR ucPTS2,
UCHAR ucPTS3 )

Set the protocol type selection (PTS).

This function sets the appropriate protocol to be used on the card.

Definition at line 67 of file ifdwrapper.c.

◆ IFDStatusICC()

LONG IFDStatusICC ( READER_CONTEXT * rContext,
PDWORD pdwStatus )

Provide statistical information about the IFD and ICC including insertions, atr, powering status/etc.

Definition at line 339 of file ifdwrapper.c.

◆ IFDTransmit()

LONG IFDTransmit ( READER_CONTEXT * rContext,
SCARD_IO_HEADER pioTxPci,
PUCHAR pucTxBuffer,
DWORD dwTxLength,
PUCHAR pucRxBuffer,
PDWORD pdwRxLength,
PSCARD_IO_HEADER pioRxPci )

Transmit an APDU to the ICC.

Definition at line 507 of file ifdwrapper.c.