0N/A/*
0N/A * This handles smartcard reader communications.
0N/A *
0N/A * MUSCLE SmartCard Development ( http://www.linuxnet.com )
0N/A *
0N/A * Copyright (C) 1999-2003
0N/A * David Corcoran <corcoran@linuxnet.com>
0N/A * Ludovic Rousseau <ludovic.rousseau@free.fr>
0N/A *
0N/A * $Id: winscard.h,v 1.13 2004/08/06 12:12:19 rousseau Exp $
0N/A */
0N/A
0N/A#ifndef __winscard_h__
0N/A#define __winscard_h__
0N/A
0N/A#include <pcsclite.h>
0N/A
0N/A#ifdef __cplusplus
0N/Aextern "C"
0N/A{
0N/A#endif
0N/A
0N/A LONG SCardEstablishContext(DWORD dwScope,
0N/A LPCVOID pvReserved1, LPCVOID pvReserved2, LPSCARDCONTEXT phContext);
0N/A
0N/A LONG SCardReleaseContext(SCARDCONTEXT hContext);
0N/A
0N/A LONG SCardSetTimeout(SCARDCONTEXT hContext, DWORD dwTimeout);
0N/A
0N/A LONG SCardConnect(SCARDCONTEXT hContext,
0N/A LPCTSTR szReader,
0N/A DWORD dwShareMode,
0N/A DWORD dwPreferredProtocols,
0N/A LPSCARDHANDLE phCard, LPDWORD pdwActiveProtocol);
0N/A
0N/A LONG SCardReconnect(SCARDHANDLE hCard,
0N/A DWORD dwShareMode,
0N/A DWORD dwPreferredProtocols,
0N/A DWORD dwInitialization, LPDWORD pdwActiveProtocol);
0N/A
0N/A LONG SCardDisconnect(SCARDHANDLE hCard, DWORD dwDisposition);
0N/A
0N/A LONG SCardBeginTransaction(SCARDHANDLE hCard);
0N/A
0N/A LONG SCardEndTransaction(SCARDHANDLE hCard, DWORD dwDisposition);
0N/A
0N/A LONG SCardCancelTransaction(SCARDHANDLE hCard);
0N/A
0N/A LONG SCardStatus(SCARDHANDLE hCard,
0N/A LPTSTR mszReaderNames, LPDWORD pcchReaderLen,
0N/A LPDWORD pdwState,
0N/A LPDWORD pdwProtocol,
0N/A LPBYTE pbAtr, LPDWORD pcbAtrLen);
0N/A
0N/A LONG SCardGetStatusChange(SCARDCONTEXT hContext,
0N/A DWORD dwTimeout,
0N/A LPSCARD_READERSTATE_A rgReaderStates, DWORD cReaders);
0N/A
0N/A LONG SCardControl(SCARDHANDLE hCard, DWORD dwControlCode,
0N/A LPCVOID pbSendBuffer, DWORD cbSendLength,
0N/A LPVOID pbRecvBuffer, DWORD cbRecvLength, LPDWORD lpBytesReturned);
0N/A
0N/A LONG SCardTransmit(SCARDHANDLE hCard,
0N/A LPCSCARD_IO_REQUEST pioSendPci,
0N/A LPCBYTE pbSendBuffer, DWORD cbSendLength,
0N/A LPSCARD_IO_REQUEST pioRecvPci,
0N/A LPBYTE pbRecvBuffer, LPDWORD pcbRecvLength);
0N/A
0N/A LONG SCardListReaderGroups(SCARDCONTEXT hContext,
0N/A LPTSTR mszGroups, LPDWORD pcchGroups);
0N/A
0N/A LONG SCardListReaders(SCARDCONTEXT hContext,
0N/A LPCTSTR mszGroups,
0N/A LPTSTR mszReaders, LPDWORD pcchReaders);
0N/A
0N/A LONG SCardCancel(SCARDCONTEXT hContext);
0N/A
0N/A LONG SCardGetAttrib(SCARDHANDLE hCard, DWORD dwAttrId, LPBYTE pbAttr,
0N/A LPDWORD pcbAttrLen);
0N/A
0N/A LONG SCardSetAttrib(SCARDHANDLE hCard, DWORD dwAttrId, LPCBYTE pbAttr,
0N/A DWORD cbAttrLen);
0N/A
0N/A void SCardUnload(void);
0N/A
0N/A#ifdef __cplusplus
0N/A}
0N/A#endif
0N/A
0N/A#endif