#include "config.h"
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/un.h>
#include <smartcard/scf.h>
#include <time.h>
#include "pcsclite.h"
#include "winscard.h"
#include "debug.h"
#include "thread_generic.h"
#include "readerfactory.h"
#include "eventhandler.h"
#include "sys_generic.h"
Go to the source code of this file.
Data Structures | |
struct | _psChannelMap |
Represents an Application Context Channel. More... | |
struct | _psContextMap |
Represents the an Application Context on the Client side. More... | |
struct | _psReaderMap |
struct | _psTransmitMap |
Defines | |
#define | TRUE 1 |
#define | FALSE 0 |
#define | PCSCLITE_MAX_READERS_CONTEXTS 2 |
Functions | |
LONG | isOCFServerRunning (void) |
LONG | SCardLockThread (void) |
LONG | SCardUnlockThread (void) |
LONG | SCardEventLock (void) |
LONG | SCardEventUnlock (void) |
LONG | PCSC_SCF_Initialize (void) |
void | EventCallback (SCF_Event_t eventType, SCF_Terminal_t hTerm, void *cbdata) |
LONG | PCSC_SCF_getATR (SCF_Card_t hCard, LPBYTE pcbAtr, LPDWORD pcbAtrLen) |
LONG | ConvertStatus (SCF_Status_t status) |
LONG | SCardGetReaderIndice (LPCSTR ReaderName) |
LONG | getNewContext (SCARDCONTEXT *phContext) |
LONG | SCardAddContext (SCARDCONTEXT hContext, SCF_Session_t hSession) |
SCF_Session_t | getSessionForContext (SCARDCONTEXT hContext) |
LONG | SCardRemoveContext (SCARDCONTEXT hContext) |
LONG | SCardGetContextIndice (SCARDCONTEXT hContext) |
LONG | getNewHandle (SCARDCONTEXT hContext, LPCSTR szReader, SCARDHANDLE *phCard, DWORD) |
LONG | getCardForHandle (SCARDHANDLE PSCS_hCard, SCF_Card_t *SCF_hCard) |
LONG | SCardRemoveHandle (SCARDHANDLE hCard) |
LONG | SCardAddHandle (SCARDHANDLE PCSC_hCard, SCARDCONTEXT hContext, SCF_Session_t hSession, SCF_Terminal_t hTerminal, SCF_Card_t SCF_hCard, int, DWORD) |
LONG | SCardGetHandleIndice (SCARDHANDLE hCard) |
LONG | isActiveContextPresent (void) |
LONG | SCardEstablishContextTH (DWORD dwScope, LPCVOID pvReserved1, LPCVOID pvReserved2, LPSCARDCONTEXT phContext) |
LONG | SCardEstablishContext (DWORD dwScope, LPCVOID pvReserved1, LPCVOID pvReserved2, LPSCARDCONTEXT phContext) |
LONG | SCardReleaseContextTH (SCARDCONTEXT hContext) |
LONG | SCardReleaseContext (SCARDCONTEXT hContext) |
LONG | SCardListReadersTH (SCARDCONTEXT hContext, LPCSTR mszGroups, LPSTR mszReaders, LPDWORD pcchReaders) |
LONG | SCardListReaders (SCARDCONTEXT hContext, LPCSTR mszGroups, LPSTR mszReaders, LPDWORD pcchReaders) |
LONG | SCardConnectTH (SCARDCONTEXT hContext, LPCSTR szReader, DWORD dwShareMode, DWORD dwPreferredProtocols, LPSCARDHANDLE phCard, LPDWORD pdwActiveProtocol) |
LONG | SCardConnect (SCARDCONTEXT hContext, LPCSTR szReader, DWORD dwShareMode, DWORD dwPreferredProtocols, LPSCARDHANDLE phCard, LPDWORD pdwActiveProtocol) |
LONG | SCardDisconnectTH (SCARDHANDLE hCard, DWORD dwDisposition) |
LONG | SCardReconnectTH (SCARDHANDLE hCard, DWORD dwShareMode, DWORD dwPreferredProtocols, DWORD dwInitialization, LPDWORD pdwActiveProtocol) |
LONG | SCardReconnect (SCARDHANDLE hCard, DWORD dwShareMode, DWORD dwPreferredProtocols, DWORD dwInitialization, LPDWORD pdwActiveProtocol) |
LONG | SCardDisconnect (SCARDHANDLE hCard, DWORD dwDisposition) |
LONG | SCardBeginTransaction (SCARDHANDLE hCard) |
LONG | SCardEndTransactionTH (SCARDHANDLE hCard, DWORD dwDisposition) |
LONG | SCardEndTransaction (SCARDHANDLE hCard, DWORD dwDisposition) |
LONG | SCardCancelTransactionTH (SCARDHANDLE hCard) |
LONG | SCardCancelTransaction (SCARDHANDLE hCard) |
LONG | SCardStatusTH (SCARDHANDLE hCard, LPSTR mszReaderNames, LPDWORD pcchReaderLen, LPDWORD pdwState, LPDWORD pdwProtocol, LPBYTE pbAtr, LPDWORD pcbAtrLen) |
LONG | SCardStatus (SCARDHANDLE hCard, LPSTR mszReaderNames, LPDWORD pcchReaderLen, LPDWORD pdwState, LPDWORD pdwProtocol, LPBYTE pbAtr, LPDWORD pcbAtrLen) |
LONG | SCardGetStatusChange (SCARDCONTEXT hContext, DWORD dwTimeout, LPSCARD_READERSTATE_A rgReaderStates, DWORD cReaders) |
LONG | SCardControl (SCARDHANDLE hCard, DWORD dwControlCode, LPCVOID pbSendBuffer, DWORD cbSendLength, LPVOID pbRecvBuffer, DWORD cbRecvLength, LPDWORD lpBytesReturned) |
LONG | SCardTransmitTH (SCARDHANDLE hCard, LPCSCARD_IO_REQUEST pioSendPci, LPCBYTE pbSendBuffer, DWORD cbSendLength, LPSCARD_IO_REQUEST pioRecvPci, LPBYTE pbRecvBuffer, LPDWORD pcbRecvLength) |
LONG | SCardTransmit (SCARDHANDLE hCard, LPCSCARD_IO_REQUEST pioSendPci, LPCBYTE pbSendBuffer, DWORD cbSendLength, LPSCARD_IO_REQUEST pioRecvPci, LPBYTE pbRecvBuffer, LPDWORD pcbRecvLength) |
LONG | SCardListReaderGroupsTH (SCARDCONTEXT hContext, LPSTR mszGroups, LPDWORD pcchGroups) |
LONG | SCardListReaderGroups (SCARDCONTEXT hContext, LPSTR mszGroups, LPDWORD pcchGroups) |
LONG | SCardCancelTH (SCARDCONTEXT hContext) |
LONG | SCardCancel (SCARDCONTEXT hContext) |
LONG | SCardGetAttrib (SCARDHANDLE hCard, DWORD dwAttrId, LPBYTE pbAttr, LPDWORD pcbAttrLen) |
LONG | SCardSetAttrib (SCARDHANDLE hCard, DWORD dwAttrId, LPCBYTE pbAttr, DWORD cbAttrLen) |
LONG | SCardCheckReaderAvailability (LPSTR readerName, LONG errorCode) |
void | SCardUnload (void) |
LONG | SCardCheckDaemonAvailability (void) |
Variables | |
SCF_Session_t | g_hSession = NULL |
SCARD_IO_REQUEST | g_rgSCardT0Pci |
SCARD_IO_REQUEST | g_rgSCardT1Pci |
SCARD_IO_REQUEST | g_rgSCardRawPci |
_psTransmitMap | psTransmitMap [PCSCLITE_MAX_APPLICATION_CONTEXTS] |
_psChannelMap | psChannelMap [PCSCLITE_MAX_APPLICATION_CONTEXTS] |
_psContextMap | psContextMap [PCSCLITE_MAX_APPLICATION_CONTEXTS] |
_psReaderMap | psReaderMap [PCSCLITE_MAX_READERS_CONTEXTS] |
PCSCLITE_MUTEX | clientMutex = PTHREAD_MUTEX_INITIALIZER |
PCSCLITE_MUTEX | EventMutex = PTHREAD_MUTEX_INITIALIZER |
PCSCLITE_MUTEX | SCFInitMutex = PTHREAD_MUTEX_INITIALIZER |
pthread_cond_t | EventCondition = PTHREAD_COND_INITIALIZER |
char | PCSC_Initialized = 0 |
Definition in file winscard_scf.c.