2007-05-15 13:51:44 +02:00
|
|
|
/*
|
|
|
|
* Winscard definitions
|
|
|
|
*
|
|
|
|
* This library is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
|
|
* License as published by the Free Software Foundation; either
|
|
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This library is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
* Lesser General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
|
|
* License along with this library; if not, write to the Free Software
|
|
|
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __WINE_WINSCARD_H
|
|
|
|
#define __WINE_WINSCARD_H
|
|
|
|
|
|
|
|
#include <wtypes.h>
|
|
|
|
#include <winioctl.h>
|
|
|
|
#include <winsmcrd.h>
|
|
|
|
#include <scarderr.h>
|
|
|
|
|
2011-10-31 03:33:30 +01:00
|
|
|
/* Valid scopes for contexts */
|
|
|
|
#define SCARD_SCOPE_USER 0
|
|
|
|
#define SCARD_SCOPE_TERMINAL 1
|
|
|
|
#define SCARD_SCOPE_SYSTEM 2
|
|
|
|
|
2007-05-15 13:51:44 +02:00
|
|
|
#ifndef _LPCBYTE_DEFINED
|
|
|
|
#define _LPCBYTE_DEFINED
|
|
|
|
typedef const BYTE *LPCBYTE;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
typedef ULONG_PTR SCARDCONTEXT, *PSCARDCONTEXT, *LPSCARDCONTEXT;
|
|
|
|
typedef ULONG_PTR SCARDHANDLE, *PSCARDHANDLE, *LPSCARDHANDLE;
|
|
|
|
|
|
|
|
typedef struct _SCARD_ATRMASK
|
|
|
|
{
|
|
|
|
DWORD cbAtr;
|
|
|
|
BYTE rgbAtr[36];
|
|
|
|
BYTE rgbMask[36];
|
|
|
|
} SCARD_ATRMASK, *PSCARD_ATRMASK, *LPSCARD_ATRMASK;
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
{
|
|
|
|
LPCSTR szReader;
|
|
|
|
LPVOID pvUserData;
|
|
|
|
DWORD dwCurrentState;
|
|
|
|
DWORD dwEventState;
|
|
|
|
DWORD cbAtr;
|
|
|
|
BYTE rgbAtr[36];
|
|
|
|
} SCARD_READERSTATEA, *PSCARD_READERSTATEA, *LPSCARD_READERSTATEA;
|
|
|
|
typedef struct
|
|
|
|
{
|
|
|
|
LPCWSTR szReader;
|
|
|
|
LPVOID pvUserData;
|
|
|
|
DWORD dwCurrentState;
|
|
|
|
DWORD dwEventState;
|
|
|
|
DWORD cbAtr;
|
|
|
|
BYTE rgbAtr[36];
|
|
|
|
} SCARD_READERSTATEW, *PSCARD_READERSTATEW, *LPSCARD_READERSTATEW;
|
|
|
|
DECL_WINELIB_TYPE_AW(SCARD_READERSTATE)
|
|
|
|
DECL_WINELIB_TYPE_AW(PSCARD_READERSTATE)
|
|
|
|
DECL_WINELIB_TYPE_AW(LPSCARD_READERSTATE)
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
|
|
|
HANDLE WINAPI SCardAccessStartedEvent(void);
|
|
|
|
LONG WINAPI SCardAddReaderToGroupA(SCARDCONTEXT,LPCSTR,LPCSTR);
|
|
|
|
LONG WINAPI SCardAddReaderToGroupW(SCARDCONTEXT,LPCWSTR,LPCWSTR);
|
|
|
|
#define SCardAddReaderToGroup WINELIB_NAME_AW(SCardAddReaderToGroup)
|
|
|
|
LONG WINAPI SCardBeginTransaction(SCARDHANDLE);
|
|
|
|
LONG WINAPI SCardCancel(SCARDCONTEXT);
|
|
|
|
LONG WINAPI SCardConnectA(SCARDCONTEXT,LPCSTR,DWORD,DWORD,LPSCARDHANDLE,LPDWORD);
|
|
|
|
LONG WINAPI SCardConnectW(SCARDCONTEXT,LPCWSTR,DWORD,DWORD,LPSCARDHANDLE,LPDWORD);
|
|
|
|
#define SCardConnect WINELIB_NAME_AW(SCardConnect)
|
|
|
|
LONG WINAPI SCardControl(SCARDHANDLE,DWORD,LPCVOID,DWORD,LPVOID,DWORD,LPDWORD);
|
|
|
|
LONG WINAPI SCardDisconnect(SCARDHANDLE,DWORD);
|
|
|
|
LONG WINAPI SCardEndTransaction(SCARDHANDLE,DWORD);
|
|
|
|
LONG WINAPI SCardEstablishContext(DWORD,LPCVOID,LPCVOID,LPSCARDCONTEXT);
|
|
|
|
LONG WINAPI SCardForgetCardTypeA(SCARDCONTEXT,LPCSTR);
|
|
|
|
LONG WINAPI SCardForgetCardTypeW(SCARDCONTEXT,LPCWSTR);
|
|
|
|
#define SCardForgetCardType WINELIB_NAME_AW(SCardForgetCardType)
|
|
|
|
LONG WINAPI SCardForgetReaderA(SCARDCONTEXT,LPCSTR);
|
|
|
|
LONG WINAPI SCardForgetReaderW(SCARDCONTEXT,LPCWSTR);
|
|
|
|
#define SCardForgetReader WINELIB_NAME_AW(SCardForgetReader)
|
|
|
|
LONG WINAPI SCardForgetReaderGroupA(SCARDCONTEXT,LPCSTR);
|
|
|
|
LONG WINAPI SCardForgetReaderGroupW(SCARDCONTEXT,LPCWSTR);
|
|
|
|
#define SCardForgetReaderGroup WINELIB_NAME_AW(SCardForgetReaderGroup)
|
|
|
|
LONG WINAPI SCardFreeMemory(SCARDCONTEXT,LPCVOID);
|
|
|
|
LONG WINAPI SCardGetAttrib(SCARDHANDLE,DWORD,LPBYTE,LPDWORD);
|
|
|
|
LONG WINAPI SCardGetCardTypeProviderNameA(SCARDCONTEXT,LPCSTR,DWORD,LPSTR,LPDWORD);
|
|
|
|
LONG WINAPI SCardGetCardTypeProviderNameW(SCARDCONTEXT,LPCWSTR,DWORD,LPWSTR,LPDWORD);
|
|
|
|
#define SCardGetCardTypeProviderName WINELIB_NAME_AW(SCardGetCardTypeProviderName)
|
|
|
|
LONG WINAPI SCardGetProviderIdA(SCARDCONTEXT,LPCSTR,LPGUID);
|
|
|
|
LONG WINAPI SCardGetProviderIdW(SCARDCONTEXT,LPCWSTR,LPGUID);
|
|
|
|
#define SCardGetProviderId WINELIB_NAME_AW(SCardGetProviderId)
|
|
|
|
LONG WINAPI SCardGetStatusChangeA(SCARDCONTEXT,DWORD,LPSCARD_READERSTATEA,DWORD);
|
|
|
|
LONG WINAPI SCardGetStatusChangeW(SCARDCONTEXT,DWORD,LPSCARD_READERSTATEW,DWORD);
|
|
|
|
#define SCardGetStatusChange WINELIB_NAME_AW(SCardGetStatusChange)
|
|
|
|
LONG WINAPI SCardIntroduceCardTypeA(SCARDCONTEXT,LPCSTR,LPCGUID,LPCGUID,DWORD,LPCBYTE,LPCBYTE,DWORD);
|
|
|
|
LONG WINAPI SCardIntroduceCardTypeW(SCARDCONTEXT,LPCWSTR,LPCGUID,LPCGUID,DWORD,LPCBYTE,LPCBYTE,DWORD);
|
|
|
|
#define SCardIntroduceCardType WINELIB_NAME_AW(SCardIntroduceCardType)
|
|
|
|
LONG WINAPI SCardIntroduceReaderA(SCARDCONTEXT,LPCSTR,LPCSTR);
|
|
|
|
LONG WINAPI SCardIntroduceReaderW(SCARDCONTEXT,LPCWSTR,LPCWSTR);
|
|
|
|
#define SCardIntroduceReader WINELIB_NAME_AW(SCardIntroduceReader)
|
|
|
|
LONG WINAPI SCardIntroduceReaderGroupA(SCARDCONTEXT,LPCSTR);
|
|
|
|
LONG WINAPI SCardIntroduceReaderGroupW(SCARDCONTEXT,LPCWSTR);
|
|
|
|
#define SCardIntroduceReaderGroup WINELIB_NAME_AW(SCardIntroduceReaderGroup)
|
|
|
|
LONG WINAPI SCardIsValidContext(SCARDCONTEXT);
|
|
|
|
LONG WINAPI SCardListCardsA(SCARDCONTEXT,LPCBYTE,LPCGUID,DWORD,LPSTR,LPDWORD);
|
|
|
|
LONG WINAPI SCardListCardsW(SCARDCONTEXT,LPCBYTE,LPCGUID,DWORD,LPWSTR,LPDWORD);
|
|
|
|
#define SCardListCards WINELIB_NAME_AW(SCardListCards)
|
|
|
|
LONG WINAPI SCardListInterfacesA(SCARDCONTEXT,LPCSTR,LPGUID,LPDWORD);
|
|
|
|
LONG WINAPI SCardListInterfacesW(SCARDCONTEXT,LPCWSTR,LPGUID,LPDWORD);
|
|
|
|
#define SCardListInterfaces WINELIB_NAME_AW(SCardListInterfaces)
|
|
|
|
LONG WINAPI SCardListReadersA(SCARDCONTEXT,LPCSTR,LPSTR,LPDWORD);
|
|
|
|
LONG WINAPI SCardListReadersW(SCARDCONTEXT,LPCWSTR,LPWSTR,LPDWORD);
|
|
|
|
#define SCardListReaders WINELIB_NAME_AW(SCardListReaders)
|
|
|
|
LONG WINAPI SCardListReaderGroupsA(SCARDCONTEXT,LPSTR,LPDWORD);
|
|
|
|
LONG WINAPI SCardListReaderGroupsW(SCARDCONTEXT,LPWSTR,LPDWORD);
|
|
|
|
#define SCardListReaderGroups WINELIB_NAME_AW(SCardListReaderGroups)
|
|
|
|
LONG WINAPI SCardLocateCardsA(SCARDCONTEXT,LPCSTR,LPSCARD_READERSTATEA,DWORD);
|
|
|
|
LONG WINAPI SCardLocateCardsW(SCARDCONTEXT,LPCWSTR,LPSCARD_READERSTATEW,DWORD);
|
|
|
|
#define SCardLocateCards WINELIB_NAME_AW(SCardLocateCards)
|
|
|
|
LONG WINAPI SCardLocateCardsByATRA(SCARDCONTEXT,LPSCARD_ATRMASK,DWORD,LPSCARD_READERSTATEA,DWORD);
|
|
|
|
LONG WINAPI SCardLocateCardsByATRW(SCARDCONTEXT,LPSCARD_ATRMASK,DWORD,LPSCARD_READERSTATEW,DWORD);
|
|
|
|
#define SCardLocateCardsByATR WINELIB_NAME_AW(SCardLocateCardsByATR)
|
|
|
|
LONG WINAPI SCardReconnect(SCARDHANDLE,DWORD,DWORD,DWORD,LPDWORD);
|
|
|
|
LONG WINAPI SCardReleaseContext(SCARDCONTEXT);
|
2010-10-26 23:12:20 +02:00
|
|
|
void WINAPI SCardReleaseStartedEvent(void);
|
2007-05-15 13:51:44 +02:00
|
|
|
LONG WINAPI SCardRemoveReaderFromGroupA(SCARDCONTEXT,LPCSTR,LPCSTR);
|
|
|
|
LONG WINAPI SCardRemoveReaderFromGroupW(SCARDCONTEXT,LPCWSTR,LPCWSTR);
|
|
|
|
#define SCardRemoveReaderFromGroup WINELIB_NAME_AW(SCardRemoveReaderFromGroup)
|
|
|
|
LONG WINAPI SCardSetAttrib(SCARDHANDLE,DWORD,LPCBYTE,DWORD);
|
|
|
|
LONG WINAPI SCardSetCardTypeProviderNameA(SCARDCONTEXT,LPCSTR,DWORD,LPCSTR);
|
|
|
|
LONG WINAPI SCardSetCardTypeProviderNameW(SCARDCONTEXT,LPCWSTR,DWORD,LPCWSTR);
|
|
|
|
#define SCardSetCardTypeProviderName WINELIB_NAME_AW(SCardSetCardTypeProviderName)
|
|
|
|
LONG WINAPI SCardState(SCARDHANDLE,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
|
|
|
|
LONG WINAPI SCardStatusA(SCARDHANDLE,LPSTR,LPDWORD,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
|
|
|
|
LONG WINAPI SCardStatusW(SCARDHANDLE,LPWSTR,LPDWORD,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
|
|
|
|
#define SCardStatus WINELIB_NAME_AW(SCardStatus)
|
|
|
|
LONG WINAPI SCardTransmit(SCARDHANDLE,LPCSCARD_IO_REQUEST,LPCBYTE,DWORD,LPSCARD_IO_REQUEST,LPBYTE,LPDWORD);
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif /* __WINE_WINSCARD_H */
|