38 #ifndef __readerfactory_h__ 39 #define __readerfactory_h__ 59 RESPONSECODE (*pvfCreateChannel)(DWORD, DWORD);
60 RESPONSECODE (*pvfCloseChannel)(DWORD);
61 RESPONSECODE (*pvfGetCapabilities)(DWORD, DWORD, PDWORD, PUCHAR);
62 RESPONSECODE (*pvfSetCapabilities)(DWORD, DWORD, DWORD, PUCHAR);
63 RESPONSECODE (*pvfSetProtocolParameters)(DWORD, DWORD, UCHAR, UCHAR,
65 RESPONSECODE (*pvfPowerICC)(DWORD, DWORD, PUCHAR, PDWORD);
68 RESPONSECODE (*pvfICCPresence)(DWORD);
71 RESPONSECODE (*pvfControl)(DWORD, PUCHAR, DWORD, PUCHAR, PDWORD);
79 RESPONSECODE (*pvfCreateChannel)(DWORD, DWORD);
80 RESPONSECODE (*pvfCloseChannel)(DWORD);
81 RESPONSECODE (*pvfGetCapabilities)(DWORD, DWORD, PDWORD, PUCHAR);
82 RESPONSECODE (*pvfSetCapabilities)(DWORD, DWORD, DWORD, PUCHAR);
83 RESPONSECODE (*pvfSetProtocolParameters)(DWORD, DWORD, UCHAR, UCHAR,
85 RESPONSECODE (*pvfPowerICC)(DWORD, DWORD, PUCHAR, PDWORD);
88 RESPONSECODE (*pvfICCPresence)(DWORD);
91 RESPONSECODE (*pvfControl)(DWORD, DWORD, LPCVOID, DWORD, LPVOID,
93 RESPONSECODE (*pvfCreateChannelByName)(DWORD, LPSTR);
145 #define REF_READER(reader) { LONG rv; Log2(PCSC_LOG_DEBUG, "RefReader() count was: %d", reader->reference); rv = _RefReader(reader); if (rv != SCARD_S_SUCCESS) return rv; } 146 #define UNREF_READER(reader) {Log2(PCSC_LOG_DEBUG, "UnrefReader() count was: %d", reader->reference); _UnrefReader(reader);} 148 LONG RFAllocateReaderSpace(
unsigned int);
149 LONG RFAddReader(
const char *,
int,
const char *,
const char *);
150 LONG RFRemoveReader(
const char *,
int,
int);
151 LONG RFSetReaderName(
READER_CONTEXT *,
const char *,
const char *,
int);
171 void RFCleanupReaders(
void);
172 void RFWaitForReaderInit(
void);
173 int RFStartSerialReaders(
const char *readerconf);
174 void RFReCheckReaderConf(
void);
178 #define REMOVE_READER_NO_FLAG 0 179 #define REMOVE_READER_FLAG_REMOVED 1 struct pubReaderStatesList * readerState
link to the reader state
pthread_t pthThread
Event polling thread.
FCT_MAP_V2 psFunctions_v2
API V2.0.
RESPONSECODE(* pthCardEvent)(DWORD, int)
Card Event sync.
int slot
Current Reader Slot.
union ReaderContext::@3 psFunctions
driver functions
int * pMutex
Number of client to mutex.
pthread_mutex_t handlesList_lock
lock for the above list
struct _SCARD_IO_HEADER SCARD_IO_HEADER
Use by SCardTransmit()
_Atomic int reference
number of users of the structure
char * library
Library Path.
_Atomic SCARDHANDLE hLockId
Lock Id.
FCT_MAP_V3 psFunctions_v3
API V3.0.
int * pFeeds
Number of shared client to lib.
int version
IFD Handler version number.
pthread_mutex_t * mMutex
Mutex for this connection.
int RFGetPowerState(READER_CONTEXT *)
Wait until all connected readers have a chance to power up a possibly inserted card.
_Atomic DWORD dwEventStatus
Recent event that must be sent.
int powerState
auto power off state
LONG SCARDHANDLE
hCard returned by SCardConnect()
int LockCount
number of recursive locks
LPVOID vHandle
Dlopen handle.
This keeps a list of defines for pcsc-lite.
_Atomic int32_t contexts
Number of open contexts.
Define an exported public reader state structure so each application gets instant notification of cha...
char * device
Device Name.
char * pcDevicename
DEVICENAME.
pthread_mutex_t powerState_lock
powerState mutex
char * pcFriendlyname
FRIENDLYNAME.
SCARDHANDLE hCard
hCard for this connection