| /* | |
| * 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> | |
| #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); | |
| void WINAPI SCardReleaseStartedEvent(HANDLE); | |
| 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 */ |