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 2319 2007-01-09 15:27:56Z 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 SCardIsValidContext(SCARDCONTEXT hContext);
00036 
00037     PCSC_API LONG SCardSetTimeout(SCARDCONTEXT hContext, DWORD dwTimeout);
00038 
00039     PCSC_API LONG SCardConnect(SCARDCONTEXT hContext,
00040         LPCSTR szReader,
00041         DWORD dwShareMode,
00042         DWORD dwPreferredProtocols,
00043         LPSCARDHANDLE phCard, LPDWORD pdwActiveProtocol);
00044 
00045     PCSC_API LONG SCardReconnect(SCARDHANDLE hCard,
00046         DWORD dwShareMode,
00047         DWORD dwPreferredProtocols,
00048         DWORD dwInitialization, LPDWORD pdwActiveProtocol);
00049 
00050     PCSC_API LONG SCardDisconnect(SCARDHANDLE hCard, DWORD dwDisposition);
00051 
00052     PCSC_API LONG SCardBeginTransaction(SCARDHANDLE hCard);
00053 
00054     PCSC_API LONG SCardEndTransaction(SCARDHANDLE hCard, DWORD dwDisposition);
00055 
00056     PCSC_API LONG SCardCancelTransaction(SCARDHANDLE hCard);
00057 
00058     PCSC_API LONG SCardStatus(SCARDHANDLE hCard,
00059         LPSTR mszReaderNames, LPDWORD pcchReaderLen,
00060         LPDWORD pdwState,
00061         LPDWORD pdwProtocol,
00062         LPBYTE pbAtr, LPDWORD pcbAtrLen);
00063 
00064     PCSC_API LONG SCardGetStatusChange(SCARDCONTEXT hContext,
00065         DWORD dwTimeout,
00066         LPSCARD_READERSTATE_A rgReaderStates, DWORD cReaders);
00067 
00068     PCSC_API LONG SCardControl(SCARDHANDLE hCard, DWORD dwControlCode,
00069         LPCVOID pbSendBuffer, DWORD cbSendLength,
00070         LPVOID pbRecvBuffer, DWORD cbRecvLength, LPDWORD lpBytesReturned);
00071 
00072     PCSC_API LONG SCardTransmit(SCARDHANDLE hCard,
00073         LPCSCARD_IO_REQUEST pioSendPci,
00074         LPCBYTE pbSendBuffer, DWORD cbSendLength,
00075         LPSCARD_IO_REQUEST pioRecvPci,
00076         LPBYTE pbRecvBuffer, LPDWORD pcbRecvLength);
00077 
00078     PCSC_API LONG SCardListReaderGroups(SCARDCONTEXT hContext,
00079         LPSTR mszGroups, LPDWORD pcchGroups);
00080 
00081     PCSC_API LONG SCardListReaders(SCARDCONTEXT hContext,
00082         LPCSTR mszGroups,
00083         LPSTR mszReaders, LPDWORD pcchReaders);
00084 
00085     PCSC_API LONG SCardCancel(SCARDCONTEXT hContext);
00086 
00087     PCSC_API LONG SCardGetAttrib(SCARDHANDLE hCard, DWORD dwAttrId,
00088         LPBYTE pbAttr, LPDWORD pcbAttrLen);
00089 
00090     PCSC_API LONG SCardSetAttrib(SCARDHANDLE hCard, DWORD dwAttrId,
00091         LPCBYTE pbAttr, DWORD cbAttrLen);
00092 
00093 #ifdef __cplusplus
00094 }
00095 #endif
00096 
00097 #endif
00098 

Generated on Thu Mar 13 13:05:12 2008 for pcsc-lite by  doxygen 1.4.7