pcsc-lite  1.8.8
winscard.h
Go to the documentation of this file.
1 /*
2  * MUSCLE SmartCard Development ( http://www.linuxnet.com )
3  *
4  * Copyright (C) 1999-2003
5  * David Corcoran <corcoran@linuxnet.com>
6  * Copyright (C) 2002-2009
7  * Ludovic Rousseau <ludovic.rousseau@free.fr>
8  *
9  * $Id: winscard.h 5962 2011-09-24 08:24:34Z rousseau $
10  */
11 
17 #ifndef __winscard_h__
18 #define __winscard_h__
19 
20 #include <pcsclite.h>
21 
22 #ifdef __cplusplus
23 extern "C"
24 {
25 #endif
26 
27 #ifndef PCSC_API
28 #define PCSC_API
29 #endif
30 
31  PCSC_API LONG SCardEstablishContext(DWORD dwScope,
32  /*@null@*/ LPCVOID pvReserved1, /*@null@*/ LPCVOID pvReserved2,
33  /*@out@*/ LPSCARDCONTEXT phContext);
34 
35  PCSC_API LONG SCardReleaseContext(SCARDCONTEXT hContext);
36 
37  PCSC_API LONG SCardIsValidContext(SCARDCONTEXT hContext);
38 
39  PCSC_API LONG SCardConnect(SCARDCONTEXT hContext,
40  LPCSTR szReader,
41  DWORD dwShareMode,
42  DWORD dwPreferredProtocols,
43  /*@out@*/ LPSCARDHANDLE phCard, /*@out@*/ LPDWORD pdwActiveProtocol);
44 
45  PCSC_API LONG SCardReconnect(SCARDHANDLE hCard,
46  DWORD dwShareMode,
47  DWORD dwPreferredProtocols,
48  DWORD dwInitialization, /*@out@*/ LPDWORD pdwActiveProtocol);
49 
50  PCSC_API LONG SCardDisconnect(SCARDHANDLE hCard, DWORD dwDisposition);
51 
52  PCSC_API LONG SCardBeginTransaction(SCARDHANDLE hCard);
53 
54  PCSC_API LONG SCardEndTransaction(SCARDHANDLE hCard, DWORD dwDisposition);
55 
56  PCSC_API LONG SCardStatus(SCARDHANDLE hCard,
57  /*@null@*/ /*@out@*/ LPSTR mszReaderName,
58  /*@null@*/ /*@out@*/ LPDWORD pcchReaderLen,
59  /*@null@*/ /*@out@*/ LPDWORD pdwState,
60  /*@null@*/ /*@out@*/ LPDWORD pdwProtocol,
61  /*@null@*/ /*@out@*/ LPBYTE pbAtr,
62  /*@null@*/ /*@out@*/ LPDWORD pcbAtrLen);
63 
64  PCSC_API LONG SCardGetStatusChange(SCARDCONTEXT hContext,
65  DWORD dwTimeout,
66  LPSCARD_READERSTATE rgReaderStates, DWORD cReaders);
67 
68  PCSC_API LONG SCardControl(SCARDHANDLE hCard, DWORD dwControlCode,
69  LPCVOID pbSendBuffer, DWORD cbSendLength,
70  /*@out@*/ LPVOID pbRecvBuffer, DWORD cbRecvLength,
71  LPDWORD lpBytesReturned);
72 
73  PCSC_API LONG SCardTransmit(SCARDHANDLE hCard,
74  const SCARD_IO_REQUEST *pioSendPci,
75  LPCBYTE pbSendBuffer, DWORD cbSendLength,
76  /*@out@*/ SCARD_IO_REQUEST *pioRecvPci,
77  /*@out@*/ LPBYTE pbRecvBuffer, LPDWORD pcbRecvLength);
78 
79  PCSC_API LONG SCardListReaderGroups(SCARDCONTEXT hContext,
80  /*@out@*/ LPSTR mszGroups, LPDWORD pcchGroups);
81 
82  PCSC_API LONG SCardListReaders(SCARDCONTEXT hContext,
83  /*@null@*/ /*@out@*/ LPCSTR mszGroups,
84  /*@null@*/ /*@out@*/ LPSTR mszReaders,
85  /*@out@*/ LPDWORD pcchReaders);
86 
87  PCSC_API LONG SCardFreeMemory(SCARDCONTEXT hContext, LPCVOID pvMem);
88 
89  PCSC_API LONG SCardCancel(SCARDCONTEXT hContext);
90 
91  PCSC_API LONG SCardGetAttrib(SCARDHANDLE hCard, DWORD dwAttrId,
92  /*@out@*/ LPBYTE pbAttr, LPDWORD pcbAttrLen);
93 
94  PCSC_API LONG SCardSetAttrib(SCARDHANDLE hCard, DWORD dwAttrId,
95  LPCBYTE pbAttr, DWORD cbAttrLen);
96 
97 #ifdef __cplusplus
98 }
99 #endif
100 
101 #endif
102 
PCSC_API LONG SCardListReaders(SCARDCONTEXT hContext, LPCSTR mszGroups, LPSTR mszReaders, LPDWORD pcchReaders)
Returns a list of currently available readers on the system.
PCSC_API LONG SCardListReaderGroups(SCARDCONTEXT hContext, LPSTR mszGroups, LPDWORD pcchGroups)
Returns a list of currently available reader groups on the system.
PCSC_API LONG SCardEstablishContext(DWORD dwScope, LPCVOID pvReserved1, LPCVOID pvReserved2, LPSCARDCONTEXT phContext)
Creates an Application Context to the PC/SC Resource Manager.
Definition: winscard.c:173
PCSC_API LONG SCardFreeMemory(SCARDCONTEXT hContext, LPCVOID pvMem)
Releases memory that has been returned from the resource manager using the SCARD_AUTOALLOCATE length ...
LONG SCardGetStatusChange(SCARDCONTEXT hContext, DWORD dwTimeout, SCARD_READERSTATE *rgReaderStates, DWORD cReaders)
Blocks execution until the current availability of the cards in a specific set of readers changes...
PCSC_API LONG SCardGetAttrib(SCARDHANDLE hCard, DWORD dwAttrId, LPBYTE pbAttr, LPDWORD pcbAttrLen)
Get an attribute from the IFD Handler (reader driver).
Definition: winscard.c:1349
PCSC_API LONG SCardDisconnect(SCARDHANDLE hCard, DWORD dwDisposition)
Terminates a connection made through SCardConnect().
Definition: winscard.c:799
PCSC_API LONG SCardCancel(SCARDCONTEXT hContext)
Cancels all pending blocking requests on the SCardGetStatusChange() function.
PCSC_API LONG SCardIsValidContext(SCARDCONTEXT hContext)
Check if a SCARDCONTEXT is valid.
LONG SCARDCONTEXT
hContext returned by SCardEstablishContext()
Definition: pcsclite.h:31
PCSC_API LONG SCardReconnect(SCARDHANDLE hCard, DWORD dwShareMode, DWORD dwPreferredProtocols, DWORD dwInitialization, LPDWORD pdwActiveProtocol)
Reestablishes a connection to a reader that was previously connected to using SCardConnect().
Definition: winscard.c:497
This keeps a list of defines for pcsc-lite.
PCSC_API LONG SCardConnect(SCARDCONTEXT hContext, LPCSTR szReader, DWORD dwShareMode, DWORD dwPreferredProtocols, LPSCARDHANDLE phCard, LPDWORD pdwActiveProtocol)
Establishes a connection to the reader specified in * szReader.
Definition: winscard.c:209
PCSC_API LONG SCardStatus(SCARDHANDLE hCard, LPSTR mszReaderName, LPDWORD pcchReaderLen, LPDWORD pdwState, LPDWORD pdwProtocol, LPBYTE pbAtr, LPDWORD pcbAtrLen)
Returns the current status of the reader connected to by hCard.
Definition: winscard.c:1227
PCSC_API LONG SCardSetAttrib(SCARDHANDLE hCard, DWORD dwAttrId, LPCBYTE pbAttr, DWORD cbAttrLen)
Set an attribute of the IFD Handler.
Definition: winscard.c:1425
LONG SCARDHANDLE
hCard returned by SCardConnect()
Definition: pcsclite.h:34
PCSC_API LONG SCardBeginTransaction(SCARDHANDLE hCard)
Establishes a temporary exclusive access mode for doing a serie of commands in a transaction.
Definition: winscard.c:1049
Protocol Control Information (PCI)
Definition: pcsclite.h:58
PCSC_API LONG SCardControl(SCARDHANDLE hCard, DWORD dwControlCode, LPCVOID pbSendBuffer, DWORD cbSendLength, LPVOID pbRecvBuffer, DWORD cbRecvLength, LPDWORD lpBytesReturned)
Sends a command directly to the IFD Handler (reader driver) to be processed by the reader...
Definition: winscard.c:1290
PCSC_API LONG SCardEndTransaction(SCARDHANDLE hCard, DWORD dwDisposition)
Ends a previously begun transaction.
Definition: winscard.c:1091
PCSC_API LONG SCardTransmit(SCARDHANDLE hCard, const SCARD_IO_REQUEST *pioSendPci, LPCBYTE pbSendBuffer, DWORD cbSendLength, SCARD_IO_REQUEST *pioRecvPci, LPBYTE pbRecvBuffer, LPDWORD pcbRecvLength)
Sends an APDU to the smart card contained in the reader connected to by SCardConnect().
Definition: winscard.c:1475
PCSC_API LONG SCardReleaseContext(SCARDCONTEXT hContext)
Destroys a communication context to the PC/SC Resource Manager.
Definition: winscard.c:198