#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.
1.2.14 written by Dimitri van Heesch,
© 1997-2002