winscard.h

Go to the documentation of this file.
00001 /*
00002  * MUSCLE SmartCard Development ( http://www.linuxnet.com )
00003  *
00004  * Copyright (C) 1999-2003
00005  *  David Corcoran <corcoran@linuxnet.com>
00006  *  Ludovic Rousseau <ludovic.rousseau@free.fr>
00007  *
00008  * $Id: winscard.h 1825 2006-01-24 14:44:22Z rousseau $
00009  */
00010 
00016 #ifndef __winscard_h__
00017 #define __winscard_h__
00018 
00019 #include <pcsclite.h>
00020 
00021 #ifdef __cplusplus
00022 extern "C"
00023 {
00024 #endif
00025 
00026 #ifndef PCSC_API
00027 #define PCSC_API
00028 #endif
00029 
00030     PCSC_API LONG SCardEstablishContext(DWORD dwScope,
00031         LPCVOID pvReserved1, LPCVOID pvReserved2, LPSCARDCONTEXT phContext);
00032 
00033     PCSC_API LONG SCardReleaseContext(SCARDCONTEXT hContext);
00034 
00035     PCSC_API LONG SCardSetTimeout(SCARDCONTEXT hContext, DWORD dwTimeout);
00036 
00037     PCSC_API LONG SCardConnect(SCARDCONTEXT hContext,
00038         LPCTSTR szReader,
00039         DWORD dwShareMode,
00040         DWORD dwPreferredProtocols,
00041         LPSCARDHANDLE phCard, LPDWORD pdwActiveProtocol);
00042 
00043     PCSC_API LONG SCardReconnect(SCARDHANDLE hCard,
00044         DWORD dwShareMode,
00045         DWORD dwPreferredProtocols,
00046         DWORD dwInitialization, LPDWORD pdwActiveProtocol);
00047 
00048     PCSC_API LONG SCardDisconnect(SCARDHANDLE hCard, DWORD dwDisposition);
00049 
00050     PCSC_API LONG SCardBeginTransaction(SCARDHANDLE hCard);
00051 
00052     PCSC_API LONG SCardEndTransaction(SCARDHANDLE hCard, DWORD dwDisposition);
00053 
00054     PCSC_API LONG SCardCancelTransaction(SCARDHANDLE hCard);
00055 
00056     PCSC_API LONG SCardStatus(SCARDHANDLE hCard,
00057         LPTSTR mszReaderNames, LPDWORD pcchReaderLen,
00058         LPDWORD pdwState,
00059         LPDWORD pdwProtocol,
00060         LPBYTE pbAtr, LPDWORD pcbAtrLen);
00061 
00062     PCSC_API LONG SCardGetStatusChange(SCARDCONTEXT hContext,
00063         DWORD dwTimeout,
00064         LPSCARD_READERSTATE_A rgReaderStates, DWORD cReaders);
00065 
00066     PCSC_API LONG SCardControl(SCARDHANDLE hCard, DWORD dwControlCode,
00067         LPCVOID pbSendBuffer, DWORD cbSendLength,
00068         LPVOID pbRecvBuffer, DWORD cbRecvLength, LPDWORD lpBytesReturned);
00069 
00070     PCSC_API LONG SCardTransmit(SCARDHANDLE hCard,
00071         LPCSCARD_IO_REQUEST pioSendPci,
00072         LPCBYTE pbSendBuffer, DWORD cbSendLength,
00073         LPSCARD_IO_REQUEST pioRecvPci,
00074         LPBYTE pbRecvBuffer, LPDWORD pcbRecvLength);
00075 
00076     PCSC_API LONG SCardListReaderGroups(SCARDCONTEXT hContext,
00077         LPTSTR mszGroups, LPDWORD pcchGroups);
00078 
00079     PCSC_API LONG SCardListReaders(SCARDCONTEXT hContext,
00080         LPCTSTR mszGroups,
00081         LPTSTR mszReaders, LPDWORD pcchReaders);
00082 
00083     PCSC_API LONG SCardCancel(SCARDCONTEXT hContext);
00084 
00085     PCSC_API LONG SCardGetAttrib(SCARDHANDLE hCard, DWORD dwAttrId,
00086         LPBYTE pbAttr, LPDWORD pcbAttrLen);
00087 
00088     PCSC_API LONG SCardSetAttrib(SCARDHANDLE hCard, DWORD dwAttrId,
00089         LPCBYTE pbAttr, DWORD cbAttrLen);
00090 
00091     void SCardUnload(void);
00092 
00093 #ifdef __cplusplus
00094 }
00095 #endif
00096 
00097 #endif
00098 

Generated on Sat Sep 15 20:50:01 2007 for pcsc-lite by  doxygen 1.4.7