diff --git a/reactos/dll/win32/advapi32/crypt/crypt.c b/reactos/dll/win32/advapi32/crypt/crypt.c index cbe68b5a5ec..19b85b7c5d8 100644 --- a/reactos/dll/win32/advapi32/crypt/crypt.c +++ b/reactos/dll/win32/advapi32/crypt/crypt.c @@ -26,7 +26,6 @@ #include #include "crypt.h" -#include #include WINE_DEFAULT_DEBUG_CHANNEL(crypt); diff --git a/reactos/include/psdk/scarderr.h b/reactos/include/psdk/scarderr.h new file mode 100644 index 00000000000..9ad60f8770a --- /dev/null +++ b/reactos/include/psdk/scarderr.h @@ -0,0 +1,96 @@ +/* + * 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 + */ + +/* Note that if you included winerror.h directly or indirectly, + * none of these definitions will be used! + */ +#ifndef SCARD_S_SUCCESS + +#define FACILITY_SYSTEM 0 +#define FACILITY_SCARD 16 + +#define STATUS_SEVERITY_INFORMATIONAL ((NTSTATUS) 0x00000001) +#define STATUS_SEVERITY_WARNING ((NTSTATUS) 0x00000002) +#define STATUS_SEVERITY_ERROR ((NTSTATUS) 0x00000003) + +#define SCARD_S_SUCCESS NO_ERROR +#define SCARD_F_INTERNAL_ERROR ((DWORD)0x80100001) +#define SCARD_E_CANCELLED ((DWORD)0x80100002) +#define SCARD_E_INVALID_HANDLE ((DWORD)0x80100003) +#define SCARD_E_INVALID_PARAMETER ((DWORD)0x80100004) +#define SCARD_E_INVALID_TARGET ((DWORD)0x80100005) +#define SCARD_E_NO_MEMORY ((DWORD)0x80100006) +#define SCARD_F_WAITED_TOO_LONG ((DWORD)0x80100007) +#define SCARD_E_INSUFFICIENT_BUFFER ((DWORD)0x80100008) +#define SCARD_E_UNKNOWN_READER ((DWORD)0x80100009) +#define SCARD_E_TIMEOUT ((DWORD)0x8010000A) +#define SCARD_E_SHARING_VIOLATION ((DWORD)0x8010000B) +#define SCARD_E_NO_SMARTCARD ((DWORD)0x8010000C) +#define SCARD_E_UNKNOWN_CARD ((DWORD)0x8010000D) +#define SCARD_E_CANT_DISPOSE ((DWORD)0x8010000E) +#define SCARD_E_PROTO_MISMATCH ((DWORD)0x8010000F) +#define SCARD_E_NOT_READY ((DWORD)0x80100010) +#define SCARD_E_INVALID_VALUE ((DWORD)0x80100011) +#define SCARD_E_SYSTEM_CANCELLED ((DWORD)0x80100012) +#define SCARD_F_COMM_ERROR ((DWORD)0x80100013) +#define SCARD_F_UNKNOWN_ERROR ((DWORD)0x80100014) +#define SCARD_E_INVALID_ATR ((DWORD)0x80100015) +#define SCARD_E_NOT_TRANSACTED ((DWORD)0x80100016) +#define SCARD_E_READER_UNAVAILABLE ((DWORD)0x80100017) +#define SCARD_P_SHUTDOWN ((DWORD)0x80100018) +#define SCARD_E_PCI_TOO_SMALL ((DWORD)0x80100019) +#define SCARD_E_READER_UNSUPPORTED ((DWORD)0x8010001A) +#define SCARD_E_DUPLICATE_READER ((DWORD)0x8010001B) +#define SCARD_E_CARD_UNSUPPORTED ((DWORD)0x8010001C) +#define SCARD_E_NO_SERVICE ((DWORD)0x8010001D) +#define SCARD_E_SERVICE_STOPPED ((DWORD)0x8010001E) +#define SCARD_E_UNEXPECTED ((DWORD)0x8010001F) +#define SCARD_E_ICC_INSTALLATION ((DWORD)0x80100020) +#define SCARD_E_ICC_CREATEORDER ((DWORD)0x80100021) +#define SCARD_E_UNSUPPORTED_FEATURE ((DWORD)0x80100022) +#define SCARD_E_DIR_NOT_FOUND ((DWORD)0x80100023) +#define SCARD_E_FILE_NOT_FOUND ((DWORD)0x80100024) +#define SCARD_E_NO_DIR ((DWORD)0x80100025) +#define SCARD_E_NO_FILE ((DWORD)0x80100026) +#define SCARD_E_NO_ACCESS ((DWORD)0x80100027) +#define SCARD_E_WRITE_TOO_MANY ((DWORD)0x80100028) +#define SCARD_E_BAD_SEEK ((DWORD)0x80100029) +#define SCARD_E_INVALID_CHV ((DWORD)0x8010002A) +#define SCARD_E_UNKNOWN_RES_MNG ((DWORD)0x8010002B) +#define SCARD_E_NO_SUCH_CERTIFICATE ((DWORD)0x8010002C) +#define SCARD_E_CERTIFICATE_UNAVAILABLE ((DWORD)0x8010002D) +#define SCARD_E_NO_READERS_AVAILABLE ((DWORD)0x8010002E) +#define SCARD_E_COMM_DATA_LOST ((DWORD)0x8010002F) +#define SCARD_E_NO_KEY_CONTAINER ((DWORD)0x80100030) +#define SCARD_E_SERVER_TOO_BUSY ((DWORD)0x80100031) +#define SCARD_W_UNSUPPORTED_CARD ((DWORD)0x80100065) +#define SCARD_W_UNRESPONSIVE_CARD ((DWORD)0x80100066) +#define SCARD_W_UNPOWERED_CARD ((DWORD)0x80100067) +#define SCARD_W_RESET_CARD ((DWORD)0x80100068) +#define SCARD_W_REMOVED_CARD ((DWORD)0x80100069) +#define SCARD_W_SECURITY_VIOLATION ((DWORD)0x8010006A) +#define SCARD_W_WRONG_CHV ((DWORD)0x8010006B) +#define SCARD_W_CHV_BLOCKED ((DWORD)0x8010006C) +#define SCARD_W_EOF ((DWORD)0x8010006D) +#define SCARD_W_CANCELLED_BY_USER ((DWORD)0x8010006E) +#define SCARD_W_CARD_NOT_AUTHENTICATED ((DWORD)0x8010006F) +#define SCARD_W_CACHE_ITEM_NOT_FOUND ((DWORD)0x80100070) +#define SCARD_W_CACHE_ITEM_STALE ((DWORD)0x80100071) +#define SCARD_W_CACHE_ITEM_TOO_BIG ((DWORD)0x80100072) + +#endif /* SCARD_S_SUCCESS */ diff --git a/reactos/include/psdk/windows.h b/reactos/include/psdk/windows.h index aee8ca56d8d..873e2b4d70c 100644 --- a/reactos/include/psdk/windows.h +++ b/reactos/include/psdk/windows.h @@ -75,6 +75,11 @@ #include #include #include +#ifndef NOCRYPT +#include +#include +#include +#endif #ifndef NOGDI #include #include diff --git a/reactos/include/psdk/winscard.h b/reactos/include/psdk/winscard.h index 3a77f51755d..825e26df447 100644 --- a/reactos/include/psdk/winscard.h +++ b/reactos/include/psdk/winscard.h @@ -1,253 +1,150 @@ /* - * WinSCard.h + * Winscard definitions * - * SmartCard API + * 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 SOFTWARE IS NOT COPYRIGHTED - * - * This source code is offered for use in the public domain. You may - * use, modify or distribute it freely. - * - * This code is distributed in the hope that it will be useful but - * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY - * DISCLAIMED. This includes but is not limited to warranties of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * 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 __WINSCARD_H -#define __WINSCARD_H +#ifndef __WINE_WINSCARD_H +#define __WINE_WINSCARD_H + +#include +#include +#include +#include + +#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) -#include #ifdef __cplusplus extern "C" { #endif -#define SCARD_S_SUCCESS NO_ERROR - -#define SCARD_F_INTERNAL_ERROR ((DWORD)0x80100001) -#define SCARD_E_CANCELLED ((DWORD)0x80100002) -#define SCARD_E_INVALID_HANDLE ((DWORD)0x80100003) -#define SCARD_E_INVALID_PARAMETER ((DWORD)0x80100004) -#define SCARD_E_INVALID_TARGET ((DWORD)0x80100005) -#define SCARD_E_NO_MEMORY ((DWORD)0x80100006) -#define SCARD_F_WAITED_TOO_LONG ((DWORD)0x80100007) -#define SCARD_E_INSUFFICIENT_BUFFER ((DWORD)0x80100008) -#define SCARD_E_UNKNOWN_READER ((DWORD)0x80100009) -#define SCARD_E_TIMEOUT ((DWORD)0x8010000A) -#define SCARD_E_SHARING_VIOLATION ((DWORD)0x8010000B) -#define SCARD_E_NO_SMARTCARD ((DWORD)0x8010000C) -#define SCARD_E_UNKNOWN_CARD ((DWORD)0x8010000D) -#define SCARD_E_CANT_DISPOSE ((DWORD)0x8010000E) -#define SCARD_E_PROTO_MISMATCH ((DWORD)0x8010000F) -#define SCARD_E_NOT_READY ((DWORD)0x80100010) -#define SCARD_E_INVALID_VALUE ((DWORD)0x80100011) -#define SCARD_E_SYSTEM_CANCELLED ((DWORD)0x80100012) -#define SCARD_F_COMM_ERROR ((DWORD)0x80100013) -#define SCARD_F_UNKNOWN_ERROR ((DWORD)0x80100014) -#define SCARD_E_INVALID_ATR ((DWORD)0x80100015) -#define SCARD_E_NOT_TRANSACTED ((DWORD)0x80100016) -#define SCARD_E_READER_UNAVAILABLE ((DWORD)0x80100017) -#define SCARD_P_SHUTDOWN ((DWORD)0x80100018) -#define SCARD_E_PCI_TOO_SMALL ((DWORD)0x80100019) -#define SCARD_E_READER_UNSUPPORTED ((DWORD)0x8010001A) -#define SCARD_E_DUPLICATE_READER ((DWORD)0x8010001B) -#define SCARD_E_CARD_UNSUPPORTED ((DWORD)0x8010001C) -#define SCARD_E_NO_SERVICE ((DWORD)0x8010001D) -#define SCARD_E_SERVICE_STOPPED ((DWORD)0x8010001E) -#define SCARD_E_UNEXPECTED ((DWORD)0x8010001F) -#define SCARD_E_ICC_INSTALLATION ((DWORD)0x80100020) -#define SCARD_E_ICC_CREATEORDER ((DWORD)0x80100021) -#define SCARD_E_UNSUPPORTED_FEATURE ((DWORD)0x80100022) -#define SCARD_E_DIR_NOT_FOUND ((DWORD)0x80100023) -#define SCARD_E_FILE_NOT_FOUND ((DWORD)0x80100024) -#define SCARD_E_NO_DIR ((DWORD)0x80100025) -#define SCARD_E_NO_FILE ((DWORD)0x80100026) -#define SCARD_E_NO_ACCESS ((DWORD)0x80100027) -#define SCARD_E_WRITE_TOO_MANY ((DWORD)0x80100028) -#define SCARD_E_BAD_SEEK ((DWORD)0x80100029) -#define SCARD_E_INVALID_CHV ((DWORD)0x8010002A) -#define SCARD_E_UNKNOWN_RES_MNG ((DWORD)0x8010002B) -#define SCARD_E_NO_SUCH_CERTIFICATE ((DWORD)0x8010002C) -#define SCARD_E_CERTIFICATE_UNAVAILABLE ((DWORD)0x8010002D) -#define SCARD_E_NO_READERS_AVAILABLE ((DWORD)0x8010002E) -#define SCARD_E_COMM_DATA_LOST ((DWORD)0x8010002F) -#define SCARD_E_NO_KEY_CONTAINER ((DWORD)0x80100030) -#define SCARD_W_UNSUPPORTED_CARD ((DWORD)0x80100065) -#define SCARD_W_UNRESPONSIVE_CARD ((DWORD)0x80100066) -#define SCARD_W_UNPOWERED_CARD ((DWORD)0x80100067) -#define SCARD_W_RESET_CARD ((DWORD)0x80100068) -#define SCARD_W_REMOVED_CARD ((DWORD)0x80100069) -#define SCARD_W_SECURITY_VIOLATION ((DWORD)0x8010006A) -#define SCARD_W_WRONG_CHV ((DWORD)0x8010006B) -#define SCARD_W_CHV_BLOCKED ((DWORD)0x8010006C) -#define SCARD_W_EOF ((DWORD)0x8010006D) -#define SCARD_W_CANCELLED_BY_USER ((DWORD)0x8010006E) -#define SCARD_W_CARD_NOT_AUTHENTICATED ((DWORD)0x8010006F) - -#define SCARD_SHARE_EXCLUSIVE (0x1) -#define SCARD_SHARE_SHARED (0x2) -#define SCARD_SHARE_DIRECT (0x3) - -#define SCARD_LEAVE_CARD (0x0) -#define SCARD_RESET_CARD (0x1) -#define SCARD_UNPOWER_CARD (0x2) -#define SCARD_EJECT_CARD (0x3) - -#define SCARD_AUTOALLOCATE ((DWORD)-1) -#define SCARD_SCOPE_USER (0x0) -#define SCARD_SCOPE_TERMINAL (0x1) -#define SCARD_SCOPE_SYSTEM (0x2) - -#define SCARD_PROVIDER_PRIMARY (0x1) -#define SCARD_PROVIDER_CSP (0x2) - -typedef ULONG_PTR SCARDCONTEXT, *PSCARDCONTEXT, *LPSCARDCONTEXT; -typedef ULONG_PTR SCARDHANDLE, *PSCARDHANDLE, *LPSCARDHANDLE; -typedef const BYTE *LPCBYTE; - -typedef struct _SCARD_READERSTATEA -{ - LPCSTR szReader; - LPVOID pvUserData; - DWORD dwCurrentState; - DWORD dwEventState; - DWORD cbAtr; - BYTE rgbAtr[36]; -} SCARD_READERSTATEA, *PSCARD_READERSTATEA, *LPSCARD_READERSTATEA; - -typedef struct _SCARD_READERSTATEW -{ - LPCWSTR szReader; - LPVOID pvUserData; - DWORD dwCurrentState; - DWORD dwEventState; - DWORD cbAtr; - BYTE rgbAtr[36]; -} SCARD_READERSTATEW, *PSCARD_READERSTATEW, *LPSCARD_READERSTATEW; - -typedef struct _SCARD_ATRMASK -{ - DWORD cbAtr; - BYTE rgbAtr[36]; - BYTE rgbMask[36]; -} SCARD_ATRMASK, *PSCARD_ATRMASK, *LPSCARD_ATRMASK; - -HANDLE WINAPI SCardAccessStartedEvent(VOID); -LONG WINAPI SCardAddReaderToGroupA(SCARDCONTEXT, LPCSTR, LPCSTR); -LONG WINAPI SCardAddReaderToGroupW(SCARDCONTEXT, LPCWSTR, LPCWSTR); -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); -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); -LONG WINAPI SCardForgetReaderA(SCARDCONTEXT, LPCSTR); -LONG WINAPI SCardForgetReaderW(SCARDCONTEXT, LPCWSTR); -LONG WINAPI SCardForgetReaderGroupA(SCARDCONTEXT, LPCSTR); -LONG WINAPI SCardForgetReaderGroupW(SCARDCONTEXT, LPCWSTR); -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); -LONG WINAPI SCardGetProviderIdA(SCARDCONTEXT, LPCSTR, LPGUID); -LONG WINAPI SCardGetProviderIdW(SCARDCONTEXT, LPCWSTR, LPGUID); -LONG WINAPI SCardGetStatusChangeA(SCARDCONTEXT, DWORD, LPSCARD_READERSTATEA, DWORD); -LONG WINAPI SCardGetStatusChangeW(SCARDCONTEXT, DWORD, LPSCARD_READERSTATEW, DWORD); -LONG WINAPI SCardIntroduceCardTypeA(SCARDCONTEXT, LPCSTR, LPCGUID, LPCGUID, DWORD, LPCBYTE, LPCBYTE, DWORD); -LONG WINAPI SCardIntroduceCardTypeW(SCARDCONTEXT, LPCWSTR, LPCGUID, LPCGUID, DWORD, LPCBYTE, LPCBYTE, DWORD); -LONG WINAPI SCardIntroduceReaderA(SCARDCONTEXT, LPCSTR, LPCSTR); -LONG WINAPI SCardIntroduceReaderW(SCARDCONTEXT, LPCWSTR, LPCWSTR); -LONG WINAPI SCardIntroduceReaderGroupA(SCARDCONTEXT, LPCSTR); -LONG WINAPI SCardIntroduceReaderGroupW(SCARDCONTEXT, LPCWSTR); -LONG WINAPI SCardIsValidContext(SCARDCONTEXT); -LONG WINAPI SCardListCardsA(SCARDCONTEXT, LPCBYTE, LPCGUID, DWORD, LPCSTR, LPDWORD); -LONG WINAPI SCardListCardsW(SCARDCONTEXT, LPCBYTE, LPCGUID, DWORD, LPCWSTR, LPDWORD); -LONG WINAPI SCardListInterfacesA(SCARDCONTEXT, LPCSTR, LPGUID, LPDWORD); -LONG WINAPI SCardListInterfacesW(SCARDCONTEXT, LPCWSTR, LPGUID, LPDWORD); -LONG WINAPI SCardListReaderGroupsA(SCARDCONTEXT, LPSTR, LPDWORD); -LONG WINAPI SCardListReaderGroupsW(SCARDCONTEXT, LPWSTR, LPDWORD); -LONG WINAPI SCardListReadersA(SCARDCONTEXT, LPCSTR, LPSTR, LPDWORD); -LONG WINAPI SCardListReadersW(SCARDCONTEXT, LPCWSTR, LPWSTR, LPDWORD); -LONG WINAPI SCardLocateCardsA(SCARDCONTEXT, LPCSTR, LPSCARD_READERSTATEA, DWORD); -LONG WINAPI SCardLocateCardsW(SCARDCONTEXT, LPCWSTR, LPSCARD_READERSTATEW, DWORD); -LONG WINAPI SCardLocateCardsByATRA(SCARDCONTEXT, LPSCARD_ATRMASK, DWORD, LPSCARD_READERSTATEA, DWORD); -LONG WINAPI SCardLocateCardsByATRW(SCARDCONTEXT, LPSCARD_ATRMASK, DWORD, LPSCARD_READERSTATEW, DWORD); -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); -LONG WINAPI SCardSetAttrib(SCARDHANDLE, DWORD, LPCBYTE, DWORD); -LONG WINAPI SCardSetCardTypeProviderNameA(SCARDCONTEXT, LPCSTR, DWORD, LPCSTR); -LONG WINAPI SCardSetCardTypeProviderNameW(SCARDCONTEXT, LPCWSTR, DWORD, LPCWSTR); -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); -LONG WINAPI SCardTransmit(SCARDHANDLE, LPCSCARD_IO_REQUEST, LPCBYTE, DWORD, LPSCARD_IO_REQUEST, LPBYTE, LPDWORD); - -#ifndef _DISABLE_TIDENTS - -#ifdef UNICODE -typedef struct SCARD_READERSTATEW SCARD_READERSTATE, *PSCARD_READERSTATE, *LPSCARD_READERSTATE; -#define SCardAddReaderToGroup SCardAddReaderToGroupW -#define SCardConnect SCardConnectW -#define SCardForgetCardType SCardForgetCardTypeW -#define SCardForgetReader SCardForgetReaderW -#define SCardForgetReaderGroup SCardForgetReaderGroupW -#define SCardGetCardTypeProviderName SCardGetCardTypeProviderNameW -#define SCardGetProviderId SCardGetProviderIdW -#define SCardGetStatusChange SCardGetStatusChangeW -#define SCardIntroduceCardType SCardIntroduceCardTypeW -#define SCardIntroduceReader SCardIntroduceReaderW -#define SCardIntroduceReaderGroup SCardIntroduceReaderGroupW -#define SCardListCards SCardListCardsW -#define SCardListInterfaces SCardListInterfacesW -#define SCardListReaderGroups SCardListReaderGroupsW -#define SCardListReaders SCardListReadersW -#define SCardLocateCards SCardLocateCardsW -#define SCardLocateCardsByATR SCardLocateCardsByATRW -#define SCardRemoveReaderFromGroup SCardRemoveReaderFromGroupW -#define SCardSetCardTypeProviderName SCardSetCardTypeProviderNameW -#define SCardStatus SCardStatusW -#else /* !UNICODE */ -typedef struct SCARD_READERSTATEA SCARD_READERSTATE, *PSCARD_READERSTATE, *LPSCARD_READERSTATE; -#define SCardAddReaderToGroup SCardAddReaderToGroupA -#define SCardConnect SCardConnectA -#define SCardForgetCardType SCardForgetCardTypeA -#define SCardForgetReader SCardForgetReaderA -#define SCardForgetReaderGroup SCardForgetReaderGroupA -#define SCardGetCardTypeProviderName SCardGetCardTypeProviderNameA -#define SCardGetProviderId SCardGetProviderIdA -#define SCardGetStatusChange SCardGetStatusChangeA -#define SCardIntroduceCardType SCardIntroduceCardTypeA -#define SCardIntroduceReader SCardIntroduceReaderA -#define SCardIntroduceReaderGroup SCardIntroduceReaderGroupA -#define SCardListCards SCardListCardsA -#define SCardListInterfaces SCardListInterfacesA -#define SCardListReaderGroups SCardListReaderGroupsA -#define SCardListReaders SCardListReadersA -#define SCardLocateCards SCardLocateCardsA -#define SCardLocateCardsByATR SCardLocateCardsByATRA -#define SCardRemoveReaderFromGroup SCardRemoveReaderFromGroupA -#define SCardSetCardTypeProviderName SCardSetCardTypeProviderNameA -#define SCardStatus SCardStatusA -#endif /* UNICODE */ - -#endif /* _DISABLE_TIDENTS */ - -extern const SCARD_IO_REQUEST g_rgSCardT0Pci; -extern const SCARD_IO_REQUEST g_rgSCardT1Pci; -extern const SCARD_IO_REQUEST g_rgSCardRawPci; +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 /* __WINSCARD_H */ -/* EOF */ +#endif /* __WINE_WINSCARD_H */ diff --git a/reactos/include/psdk/winsmcrd.h b/reactos/include/psdk/winsmcrd.h index 3157063293c..e26c9a8ab31 100644 --- a/reactos/include/psdk/winsmcrd.h +++ b/reactos/include/psdk/winsmcrd.h @@ -35,7 +35,7 @@ typedef struct _SCARD_T0_COMMAND BYTE bIns; BYTE P1; BYTE P2; - BYTE P3 + BYTE P3; } SCARD_T0_COMMAND, *PSCARD_T0_COMMAND, *LPSCARD_T0_COMMAND; typedef struct _SCARD_T0_REQUEST @@ -55,7 +55,7 @@ typedef struct _SCARD_T1_REQUEST SCARD_IO_REQUEST ioRequest; } SCARD_T1_REQUEST, *PSCARD_T1_REQUEST, *LPSCARD_T1_REQUEST; -#define FILE_DEVICE_SMARTCARD (0x00000031) +#define FILE_DEVICE_SMARTCARD 49 #define SCARD_ATR_LENGTH (0x21)