[WINSCARD]
authorAmine Khaldi <amine.khaldi@reactos.org>
Sat, 17 May 2014 14:06:12 +0000 (14:06 +0000)
committerAmine Khaldi <amine.khaldi@reactos.org>
Sat, 17 May 2014 14:06:12 +0000 (14:06 +0000)
* Import from Wine 1.7.17.
* Properly stub some exports thanks to our previous code.
* Add to build.
CORE-8224 #resolve #comment Added in r63328. Thanks for reporting!
CORE-8080

svn path=/trunk/; revision=63329

reactos/dll/win32/CMakeLists.txt
reactos/dll/win32/winscard/CMakeLists.txt [new file with mode: 0644]
reactos/dll/win32/winscard/precomp.h
reactos/dll/win32/winscard/stubs.c [new file with mode: 0644]
reactos/dll/win32/winscard/winscard.c
reactos/dll/win32/winscard/winscard.def [deleted file]
reactos/dll/win32/winscard/winscard.spec [new file with mode: 0644]
reactos/media/doc/README.WINE

index 21f27e0..3355a26 100644 (file)
@@ -227,7 +227,7 @@ add_subdirectory(wing32)
 add_subdirectory(winhttp)
 add_subdirectory(wininet)
 add_subdirectory(winmm)
-#add_subdirectory(winscard) # not built in trunk
+add_subdirectory(winscard)
 add_subdirectory(winspool)
 add_subdirectory(winsta)
 add_subdirectory(wintrust)
diff --git a/reactos/dll/win32/winscard/CMakeLists.txt b/reactos/dll/win32/winscard/CMakeLists.txt
new file mode 100644 (file)
index 0000000..c7b54e3
--- /dev/null
@@ -0,0 +1,21 @@
+
+add_definitions(-D__WINESRC__)
+include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine)
+spec2def(winscard.dll winscard.spec)
+
+list(APPEND SOURCE
+    winscard.c
+    stubs.c
+    precomp.h
+    ${CMAKE_CURRENT_BINARY_DIR}/winscard_stubs.c)
+
+add_library(winscard SHARED
+    ${SOURCE}
+    winscard.rc
+    ${CMAKE_CURRENT_BINARY_DIR}/winscard.def)
+
+set_module_type(winscard win32dll)
+target_link_libraries(winscard wine)
+add_importlibs(winscard msvcrt kernel32 ntdll)
+add_pch(winscard precomp.h SOURCE)
+add_cd_file(TARGET winscard DESTINATION reactos/system32 FOR all)
index 4175448..0cbff00 100644 (file)
@@ -1,5 +1,19 @@
-#include <windows.h>
-#include <WinSCard.h>
-#include <debug.h>
+#ifndef _WINSCARD_PCH_
+#define _WINSCARD_PCH_
 
-/* EOF */
+#include <wine/config.h>
+
+#include <stdarg.h>
+
+#define WIN32_NO_STATUS
+#define _INC_WINDOWS
+#define COM_NO_WINDOWS_H
+
+#include <windef.h>
+#include <winbase.h>
+#include <winscard.h>
+
+#include <wine/debug.h>
+WINE_DEFAULT_DEBUG_CHANNEL(winscard);
+
+#endif /* _WINSCARD_PCH_ */
diff --git a/reactos/dll/win32/winscard/stubs.c b/reactos/dll/win32/winscard/stubs.c
new file mode 100644 (file)
index 0000000..25253ff
--- /dev/null
@@ -0,0 +1,645 @@
+/*
+ * PROJECT:         ReactOS SmartCard API
+ * FILE:            dll/win32/winscard/stubs.c
+ * PURPOSE:         ReactOS SmartCard API
+ * PROGRAMMER:      Thomas Weidenmueller <w3seek@reactos.com>
+ *
+ * UPDATE HISTORY:
+ *      11/07/2004  Created
+ */
+
+#include <precomp.h>
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardBeginTransaction(SCARDHANDLE hCard)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardCancel(SCARDCONTEXT hContext)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardConnectA(SCARDCONTEXT hContext,
+              LPCSTR szReader,
+              DWORD dwShareMode,
+              DWORD dwPreferredProtocols,
+              LPSCARDHANDLE phCard,
+              LPDWORD pdwActiveProtocol)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardConnectW(SCARDCONTEXT hContext,
+              LPCWSTR szReader,
+              DWORD dwShareMode,
+              DWORD dwPreferredProtocols,
+              LPSCARDHANDLE phCard,
+              LPDWORD pdwActiveProtocol)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardControl(SCARDHANDLE hCard,
+             DWORD dwControlCode,
+             LPCVOID lpInBuffer,
+             DWORD nInBufferSize,
+             LPVOID lpOutBuffer,
+             DWORD nOutBufferSize,
+             LPDWORD lpBytesReturned)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardDisconnect(SCARDHANDLE hCard,
+                DWORD dwDisposition)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardEndTransaction(SCARDHANDLE hCard,
+                    DWORD dwDisposition)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardForgetCardTypeA(SCARDCONTEXT hContext,
+                     LPCSTR szCardName)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardForgetCardTypeW(SCARDCONTEXT hContext,
+                     LPCWSTR szCardName)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardForgetReaderA(SCARDCONTEXT hContext,
+                   LPCSTR szReaderName)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardForgetReaderW(SCARDCONTEXT hContext,
+                   LPCWSTR szReaderName)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardForgetReaderGroupA(SCARDCONTEXT hContext,
+                        LPCSTR szGroupName)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardForgetReaderGroupW(SCARDCONTEXT hContext,
+                        LPCWSTR szGroupName)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardFreeMemory(SCARDCONTEXT hContext,
+                LPCVOID pvMem)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardGetAttrib(SCARDHANDLE hCard,
+               DWORD dwAttrId,
+               LPBYTE pbAttr,
+               LPDWORD pcbAttrLen)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardGetCardTypeProviderNameA(SCARDCONTEXT hContext,
+                              LPCSTR szCardName,
+                              DWORD dwProviderId,
+                              LPSTR szProvider,
+                              LPDWORD pcchProvider)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardGetCardTypeProviderNameW(SCARDCONTEXT hContext,
+                              LPCWSTR szCardName,
+                              DWORD dwProviderId,
+                              LPWSTR szProvider,
+                              LPDWORD pcchProvider)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardGetProviderIdA(SCARDCONTEXT hContext,
+                    LPCSTR szCard,
+                    LPGUID pguidProviderId)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardGetProviderIdW(SCARDCONTEXT hContext,
+                    LPCWSTR szCard,
+                    LPGUID pguidProviderId)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardGetStatusChangeA(SCARDCONTEXT hContext,
+                      DWORD dwTimeout,
+                      LPSCARD_READERSTATEA rgReaderState,
+                      DWORD cReaders)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardGetStatusChangeW(SCARDCONTEXT hContext,
+                      DWORD dwTimeout,
+                      LPSCARD_READERSTATEW rgReaderState,
+                      DWORD cReaders)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardIntroduceCardTypeA(SCARDCONTEXT hContext,
+                        LPCSTR szCardName,
+                        LPCGUID pguidPrimaryProvider,
+                        LPCGUID rgguidInterfaces,
+                        DWORD dwInterfaceCount,
+                        LPCBYTE pbAtr,
+                        LPCBYTE pbAtrMask,
+                        DWORD cbAtrLen)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardIntroduceCardTypeW(SCARDCONTEXT hContext,
+                        LPCWSTR szCardName,
+                        LPCGUID pguidPrimaryProvider,
+                        LPCGUID rgguidInterfaces,
+                        DWORD dwInterfaceCount,
+                        LPCBYTE pbAtr,
+                        LPCBYTE pbAtrMask,
+                        DWORD cbAtrLen)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardIntroduceReaderA(SCARDCONTEXT hContext,
+                      LPCSTR szReaderName,
+                      LPCSTR szDeviceName)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardIntroduceReaderW(SCARDCONTEXT hContext,
+                      LPCWSTR szReaderName,
+                      LPCWSTR szDeviceName)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardIntroduceReaderGroupA(SCARDCONTEXT hContext,
+                           LPCSTR szGroupName)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardIntroduceReaderGroupW(SCARDCONTEXT hContext,
+                           LPCWSTR szGroupName)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardListCardsW(SCARDCONTEXT hContext,
+                LPCBYTE pbAtr,
+                LPCGUID rgguidInterface,
+                DWORD cguidInterfaceCount,
+                LPWSTR mszCards,
+                LPDWORD pcchCards)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardListInterfacesA(SCARDCONTEXT hContext,
+                     LPCSTR szCard,
+                     LPGUID pguidInterfaces,
+                     LPDWORD pcguidInteraces)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardListInterfacesW(SCARDCONTEXT hContext,
+                     LPCWSTR szCard,
+                     LPGUID pguidInterfaces,
+                     LPDWORD pcguidInteraces)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardListReaderGroupsA(SCARDCONTEXT hContext,
+                       LPSTR mszGroups,
+                       LPDWORD pcchGroups)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardListReaderGroupsW(SCARDCONTEXT hContext,
+                       LPWSTR mszGroups,
+                       LPDWORD pcchGroups)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardListReadersA(SCARDCONTEXT Context,
+                  LPCSTR mszGroups,
+                  LPSTR mszReaders,
+                  LPDWORD pcchReaders)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardListReadersW(SCARDCONTEXT Context,
+                  LPCWSTR mszGroups,
+                  LPWSTR mszReaders,
+                  LPDWORD pcchReaders)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardLocateCardsA(SCARDCONTEXT hContext,
+                  LPCSTR mszCards,
+                  LPSCARD_READERSTATEA rgReaderStates,
+                  DWORD cReaders)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardLocateCardsW(SCARDCONTEXT hContext,
+                  LPCWSTR mszCards,
+                  LPSCARD_READERSTATEW rgReaderStates,
+                  DWORD cReaders)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardLocateCardsByATRA(SCARDCONTEXT hContext,
+                       LPSCARD_ATRMASK rgAtrMasks,
+                       DWORD cAtrs,
+                       LPSCARD_READERSTATEA rgReaderStates,
+                       DWORD cReaders)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardLocateCardsByATRW(SCARDCONTEXT hContext,
+                       LPSCARD_ATRMASK rgAtrMasks,
+                       DWORD cAtrs,
+                       LPSCARD_READERSTATEW rgReaderStates,
+                       DWORD cReaders)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardReconnect(SCARDHANDLE hCard,
+               DWORD dwShareMode,
+               DWORD dwPreferredProtocols,
+               DWORD dwInitialization,
+               LPDWORD pdwActiveProtocol)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardRemoveReaderFromGroupA(SCARDCONTEXT hContext,
+                            LPCSTR szReaderName,
+                            LPCSTR szGroupname)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardRemoveReaderFromGroupW(SCARDCONTEXT hContext,
+                            LPCWSTR szReaderName,
+                            LPCWSTR szGroupname)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardSetAttrib(SCARDHANDLE hCard,
+               DWORD dwAttrId,
+               LPCBYTE pbAttr,
+               DWORD cbAttrLen)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardSetCardTypeProviderNameA(SCARDCONTEXT hContext,
+                              LPCSTR szCardName,
+                              DWORD dwProviderId,
+                              LPCSTR szProvider)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardSetCardTypeProviderNameW(SCARDCONTEXT hContext,
+                              LPCWSTR szCardName,
+                              DWORD dwProviderId,
+                              LPCWSTR szProvider)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardState(SCARDHANDLE hCard,
+           LPDWORD pdwState,
+           LPDWORD pdwProtocol,
+           LPBYTE pbAtr,
+           LPDWORD pcbAtrlen)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
+
+/*
+ * @unimplemented
+ */
+LONG
+WINAPI
+SCardTransmit(SCARDHANDLE hCard,
+              LPCSCARD_IO_REQUEST pioSendPci,
+              LPCBYTE pbSendBuffer,
+              DWORD cbSendLength,
+              LPSCARD_IO_REQUEST pioRecvPci,
+              LPBYTE pbRecvBuffer,
+              LPDWORD pcbRecvLength)
+{
+  UNIMPLEMENTED;
+  return SCARD_F_UNKNOWN_ERROR;
+}
index e2eb755..39cdd0b 100644 (file)
@@ -1,6 +1,5 @@
 /*
- * ReactOS SmartCard API
- * Copyright (C) 2004 ReactOS Team
+ * Copyright 2007 Mounir IDRASSI  (mounir.idrassi@idrix.fr, for IDRIX)
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
  *
  * 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 Street, Fifth Floor, Boston, MA  02110-1301  USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
-/*
- * PROJECT:         ReactOS SmartCard API
- * FILE:            lib/winscard/winscard.c
- * PURPOSE:         ReactOS SmartCard API
- * PROGRAMMER:      Thomas Weidenmueller <w3seek@reactos.com>
- *
- * UPDATE HISTORY:
- *      11/07/2004  Created
- */
-#include "precomp.h"
-
-const SCARD_IO_REQUEST g_rgSCardT0Pci;
-const SCARD_IO_REQUEST g_rgSCardT1Pci;
-const SCARD_IO_REQUEST g_rgSCardRawPci;
-
-/*
- * @unimplemented
- */
-HANDLE
-WINAPI
-SCardAccessStartedEvent(VOID)
-{
-  UNIMPLEMENTED;
-  SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
-  return NULL;
-}
-
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardAddReaderToGroupA(SCARDCONTEXT hContext,
-                       LPCSTR szReaderName,
-                       LPCSTR szGroupName)
-{
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
-}
-
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardAddReaderToGroupW(SCARDCONTEXT hContext,
-                       LPCWSTR szReaderName,
-                       LPCWSTR szGroupName)
-{
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
-}
-
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardBeginTransaction(SCARDHANDLE hCard)
-{
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
-}
-
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardCancel(SCARDCONTEXT hContext)
-{
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
-}
-
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardConnectA(SCARDCONTEXT hContext,
-              LPCSTR szReader,
-              DWORD dwShareMode,
-              DWORD dwPreferredProtocols,
-              LPSCARDHANDLE phCard,
-              LPDWORD pdwActiveProtocol)
-{
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
-}
-
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardConnectW(SCARDCONTEXT hContext,
-              LPCWSTR szReader,
-              DWORD dwShareMode,
-              DWORD dwPreferredProtocols,
-              LPSCARDHANDLE phCard,
-              LPDWORD pdwActiveProtocol)
-{
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
-}
-
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardControl(SCARDHANDLE hCard,
-             DWORD dwControlCode,
-             LPCVOID lpInBuffer,
-             DWORD nInBufferSize,
-             LPVOID lpOutBuffer,
-             DWORD nOutBufferSize,
-             LPDWORD lpBytesReturned)
-{
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
-}
-
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardDisconnect(SCARDHANDLE hCard,
-                DWORD dwDisposition)
-{
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
-}
-
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardEndTransaction(SCARDHANDLE hCard,
-                    DWORD dwDisposition)
-{
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
-}
-
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardEstablishContext(DWORD dwScope,
-                      LPCVOID pvReserved1,
-                      LPCVOID pvReserved2,
-                      LPSCARDCONTEXT phContext)
-{
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
-}
-
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardForgetCardTypeA(SCARDCONTEXT hContext,
-                     LPCSTR szCardName)
-{
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
-}
-
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardForgetCardTypeW(SCARDCONTEXT hContext,
-                     LPCWSTR szCardName)
-{
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
-}
-
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardForgetReaderA(SCARDCONTEXT hContext,
-                   LPCSTR szReaderName)
-{
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
-}
-
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardForgetReaderW(SCARDCONTEXT hContext,
-                   LPCWSTR szReaderName)
-{
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
-}
-
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardForgetReaderGroupA(SCARDCONTEXT hContext,
-                        LPCSTR szGroupName)
-{
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
-}
-
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardForgetReaderGroupW(SCARDCONTEXT hContext,
-                        LPCWSTR szGroupName)
-{
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
-}
-
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardFreeMemory(SCARDCONTEXT hContext,
-                LPCVOID pvMem)
-{
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
-}
-
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardGetAttrib(SCARDHANDLE hCard,
-               DWORD dwAttrId,
-               LPBYTE pbAttr,
-               LPDWORD pcbAttrLen)
-{
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
-}
-
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardGetCardTypeProviderNameA(SCARDCONTEXT hContext,
-                              LPCSTR szCardName,
-                              DWORD dwProviderId,
-                              LPSTR szProvider,
-                              LPDWORD pcchProvider)
-{
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
-}
-
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardGetCardTypeProviderNameW(SCARDCONTEXT hContext,
-                              LPCWSTR szCardName,
-                              DWORD dwProviderId,
-                              LPWSTR szProvider,
-                              LPDWORD pcchProvider)
-{
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
-}
-
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardGetProviderIdA(SCARDCONTEXT hContext,
-                    LPCSTR szCard,
-                    LPGUID pguidProviderId)
-{
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
-}
-
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardGetProviderIdW(SCARDCONTEXT hContext,
-                    LPCWSTR szCard,
-                    LPGUID pguidProviderId)
-{
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
-}
-
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardGetStatusChangeA(SCARDCONTEXT hContext,
-                      DWORD dwTimeout,
-                      LPSCARD_READERSTATEA rgReaderState,
-                      DWORD cReaders)
-{
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
-}
-
 
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardGetStatusChangeW(SCARDCONTEXT hContext,
-                      DWORD dwTimeout,
-                      LPSCARD_READERSTATEW rgReaderState,
-                      DWORD cReaders)
-{
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
-}
-
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardIntroduceCardTypeA(SCARDCONTEXT hContext,
-                        LPCSTR szCardName,
-                        LPCGUID pguidPrimaryProvider,
-                        LPCGUID rgguidInterfaces,
-                        DWORD dwInterfaceCount,
-                        LPCBYTE pbAtr,
-                        LPCBYTE pbAtrMask,
-                        DWORD cbAtrLen)
-{
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
-}
-
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardIntroduceCardTypeW(SCARDCONTEXT hContext,
-                        LPCWSTR szCardName,
-                        LPCGUID pguidPrimaryProvider,
-                        LPCGUID rgguidInterfaces,
-                        DWORD dwInterfaceCount,
-                        LPCBYTE pbAtr,
-                        LPCBYTE pbAtrMask,
-                        DWORD cbAtrLen)
-{
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
-}
-
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardIntroduceReaderA(SCARDCONTEXT hContext,
-                      LPCSTR szReaderName,
-                      LPCSTR szDeviceName)
-{
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
-}
-
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardIntroduceReaderW(SCARDCONTEXT hContext,
-                      LPCWSTR szReaderName,
-                      LPCWSTR szDeviceName)
-{
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
-}
-
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardIntroduceReaderGroupA(SCARDCONTEXT hContext,
-                           LPCSTR szGroupName)
-{
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
-}
-
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardIntroduceReaderGroupW(SCARDCONTEXT hContext,
-                           LPCWSTR szGroupName)
-{
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
-}
-
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardIsValidContext(SCARDCONTEXT hContext)
-{
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
-}
-
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardListCardsA(SCARDCONTEXT hContext,
-                LPCBYTE pbAtr,
-                LPCGUID rgguidInterface,
-                DWORD cguidInterfaceCount,
-                LPCSTR mszCards,
-                LPDWORD pcchCards)
-{
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
-}
-
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardListCardsW(SCARDCONTEXT hContext,
-                LPCBYTE pbAtr,
-                LPCGUID rgguidInterface,
-                DWORD cguidInterfaceCount,
-                LPCWSTR mszCards,
-                LPDWORD pcchCards)
-{
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
-}
-
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardListInterfacesA(SCARDCONTEXT hContext,
-                     LPCSTR szCard,
-                     LPGUID pguidInterfaces,
-                     LPDWORD pcguidInteraces)
-{
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
-}
-
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardListInterfacesW(SCARDCONTEXT hContext,
-                     LPCWSTR szCard,
-                     LPGUID pguidInterfaces,
-                     LPDWORD pcguidInteraces)
-{
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
-}
-
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardListReaderGroupsA(SCARDCONTEXT hContext,
-                       LPSTR mszGroups,
-                       LPDWORD pcchGroups)
-{
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
-}
+#include <precomp.h>
 
+#include <winternl.h>
 
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardListReaderGroupsW(SCARDCONTEXT hContext,
-                       LPWSTR mszGroups,
-                       LPDWORD pcchGroups)
-{
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
-}
+static HANDLE g_startedEvent = NULL;
 
+const SCARD_IO_REQUEST g_rgSCardT0Pci = { SCARD_PROTOCOL_T0, 8 };
+const SCARD_IO_REQUEST g_rgSCardT1Pci = { SCARD_PROTOCOL_T1, 8 };
+const SCARD_IO_REQUEST g_rgSCardRawPci = { SCARD_PROTOCOL_RAW, 8 };
 
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardListReadersA(SCARDCONTEXT Context,
-                  LPCSTR mszGroups,
-                  LPSTR mszReaders,
-                  LPDWORD pcchReaders)
-{
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
-}
 
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardListReadersW(SCARDCONTEXT Context,
-                  LPCWSTR mszGroups,
-                  LPWSTR mszReaders,
-                  LPDWORD pcchReaders)
+BOOL WINAPI DllMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
 {
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
-}
+    TRACE("%p,%x,%p\n", hinstDLL, fdwReason, lpvReserved);
 
+    switch (fdwReason)
+    {
+        case DLL_PROCESS_ATTACH:
+            DisableThreadLibraryCalls(hinstDLL);
+            /* FIXME: for now, we act as if the pcsc daemon is always started */
+            g_startedEvent = CreateEventA(NULL,TRUE,TRUE,NULL);
+            break;
+        case DLL_PROCESS_DETACH:
+            if (lpvReserved) break;
+            CloseHandle(g_startedEvent);
+            break;
+    }
 
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardLocateCardsA(SCARDCONTEXT hContext,
-                  LPCSTR mszCards,
-                  LPSCARD_READERSTATEA rgReaderStates,
-                  DWORD cReaders)
-{
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
+    return TRUE;
 }
 
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardLocateCardsW(SCARDCONTEXT hContext,
-                  LPCWSTR mszCards,
-                  LPSCARD_READERSTATEW rgReaderStates,
-                  DWORD cReaders)
-{
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
-}
-
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardLocateCardsByATRA(SCARDCONTEXT hContext,
-                       LPSCARD_ATRMASK rgAtrMasks,
-                       DWORD cAtrs,
-                       LPSCARD_READERSTATEA rgReaderStates,
-                       DWORD cReaders)
-{
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
-}
-
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardLocateCardsByATRW(SCARDCONTEXT hContext,
-                       LPSCARD_ATRMASK rgAtrMasks,
-                       DWORD cAtrs,
-                       LPSCARD_READERSTATEW rgReaderStates,
-                       DWORD cReaders)
-{
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
-}
-
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardReconnect(SCARDHANDLE hCard,
-               DWORD dwShareMode,
-               DWORD dwPreferredProtocols,
-               DWORD dwInitialization,
-               LPDWORD pdwActiveProtocol)
+HANDLE WINAPI SCardAccessStartedEvent(void)
 {
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
+    return g_startedEvent;
 }
 
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardReleaseContext(SCARDCONTEXT hContext)
+LONG WINAPI SCardAddReaderToGroupA(SCARDCONTEXT context, LPCSTR reader, LPCSTR group)
 {
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
-}
+    LONG retval;
+    UNICODE_STRING readerW, groupW;
 
+    if(reader) RtlCreateUnicodeStringFromAsciiz(&readerW,reader);
+    else readerW.Buffer = NULL;
+    if(group) RtlCreateUnicodeStringFromAsciiz(&groupW,group);
+    else groupW.Buffer = NULL;
 
-/*
- * @unimplemented
- */
-VOID
-WINAPI
-SCardReleaseStartedEvent(HANDLE hStartedEventHandle)
-{
-  UNIMPLEMENTED;
-}
+    retval = SCardAddReaderToGroupW(context, readerW.Buffer, groupW.Buffer);
 
+    RtlFreeUnicodeString(&readerW);
+    RtlFreeUnicodeString(&groupW);
 
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardRemoveReaderFromGroupA(SCARDCONTEXT hContext,
-                            LPCSTR szReaderName,
-                            LPCSTR szGroupname)
-{
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
+    return retval;
 }
 
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardRemoveReaderFromGroupW(SCARDCONTEXT hContext,
-                            LPCWSTR szReaderName,
-                            LPCWSTR szGroupname)
+LONG WINAPI SCardAddReaderToGroupW(SCARDCONTEXT context, LPCWSTR reader, LPCWSTR group)
 {
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
+    FIXME("%x %s %s\n", (unsigned int) context, debugstr_w(reader), debugstr_w(group));
+    return SCARD_S_SUCCESS;
 }
 
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardSetAttrib(SCARDHANDLE hCard,
-               DWORD dwAttrId,
-               LPCBYTE pbAttr,
-               DWORD cbAttrLen)
+LONG WINAPI SCardEstablishContext(DWORD dwScope, LPCVOID pvReserved1,
+    LPCVOID pvReserved2, LPSCARDCONTEXT phContext)
 {
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
+    FIXME("(%x,%p,%p,%p) stub\n", dwScope, pvReserved1, pvReserved2, phContext);
+    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+    return SCARD_F_INTERNAL_ERROR;
 }
 
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardSetCardTypeProviderNameA(SCARDCONTEXT hContext,
-                              LPCSTR szCardName,
-                              DWORD dwProviderId,
-                              LPCSTR szProvider)
+LONG WINAPI SCardIsValidContext(SCARDCONTEXT context)
 {
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
+    FIXME("(%lx) stub\n", context);
+    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+    return SCARD_F_INTERNAL_ERROR;
 }
 
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardSetCardTypeProviderNameW(SCARDCONTEXT hContext,
-                              LPCWSTR szCardName,
-                              DWORD dwProviderId,
-                              LPCWSTR szProvider)
+LONG WINAPI SCardListCardsA(SCARDCONTEXT hContext, LPCBYTE pbAtr, LPCGUID rgguidInterfaces, DWORD cguidInterfaceCount, LPSTR mszCards, LPDWORD pcchCards)
 {
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
+    FIXME(": stub\n");
+    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+    return SCARD_F_INTERNAL_ERROR;
 }
 
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardState(SCARDHANDLE hCard,
-           LPDWORD pdwState,
-           LPDWORD pdwProtocol,
-           LPBYTE pbAtr,
-           LPDWORD pcbAtrlen)
+LONG WINAPI SCardReleaseContext(SCARDCONTEXT context)
 {
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
+    FIXME("(%lx) stub\n", context);
+    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+    return SCARD_F_INTERNAL_ERROR;
 }
 
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardStatusA(SCARDHANDLE hCard,
-             LPSTR szReaderName,
-             LPDWORD pcchReaderLen,
-             LPDWORD pdwState,
-             LPDWORD pdwProtocol,
-             LPBYTE pbAtr,
-             LPDWORD pcbAtrLen)
+LONG WINAPI SCardStatusA(SCARDHANDLE context, LPSTR szReaderName, LPDWORD pcchReaderLen, LPDWORD pdwState, LPDWORD pdwProtocol, LPBYTE pbAtr, LPDWORD pcbAtrLen)
 {
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
+    FIXME("(%lx) stub\n", context);
+    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+    return SCARD_F_INTERNAL_ERROR;
 }
 
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardStatusW(SCARDHANDLE hCard,
-             LPWSTR szReaderName,
-             LPDWORD pcchReaderLen,
-             LPDWORD pdwState,
-             LPDWORD pdwProtocol,
-             LPBYTE pbAtr,
-             LPDWORD pcbAtrLen)
+LONG WINAPI SCardStatusW(SCARDHANDLE context, LPWSTR szReaderName, LPDWORD pcchReaderLen, LPDWORD pdwState,LPDWORD pdwProtocol,LPBYTE pbAtr,LPDWORD pcbArtLen)
 {
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
+    FIXME("(%lx) stub\n", context);
+    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+    return SCARD_F_INTERNAL_ERROR;
 }
 
-
-/*
- * @unimplemented
- */
-LONG
-WINAPI
-SCardTransmit(SCARDHANDLE hCard,
-              LPCSCARD_IO_REQUEST pioSendPci,
-              LPCBYTE pbSendBuffer,
-              DWORD cbSendLength,
-              LPSCARD_IO_REQUEST pioRecvPci,
-              LPBYTE pbRecvBuffer,
-              LPDWORD pcbRecvLength)
+void WINAPI SCardReleaseStartedEvent(void)
 {
-  UNIMPLEMENTED;
-  return SCARD_F_UNKNOWN_ERROR;
+    FIXME("stub\n");
 }
-
diff --git a/reactos/dll/win32/winscard/winscard.def b/reactos/dll/win32/winscard/winscard.def
deleted file mode 100644 (file)
index a4b193a..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-LIBRARY winscard.dll
-
-EXPORTS
-;ClassInstall32@0                @1
-;SCardAccessNewReaderEvent@0     @2
-;SCardReleaseAllEvents@0         @3
-;SCardReleaseNewReaderEvent@0    @4
-SCardAccessStartedEvent@0        @5
-SCardAddReaderToGroupA@12        @6
-SCardAddReaderToGroupW@12        @7
-SCardBeginTransaction@4          @8
-SCardCancel@4                    @9
-SCardConnectA@24                 @10
-SCardConnectW@24                 @11
-SCardControl@28                  @12
-SCardDisconnect@8                @13
-SCardEndTransaction@8            @14
-SCardEstablishContext@16         @15
-SCardForgetCardTypeA@8           @16
-SCardForgetCardTypeW@8           @17
-SCardForgetReaderA@8             @18
-SCardForgetReaderGroupA@8        @19
-SCardForgetReaderGroupW@8        @20
-SCardForgetReaderW@8             @21
-SCardFreeMemory@8                @22
-SCardGetAttrib@16                @23
-SCardGetCardTypeProviderNameA@20 @24
-SCardGetCardTypeProviderNameW@20 @25
-SCardGetProviderIdA@12           @26
-SCardGetProviderIdW@12           @27
-SCardGetStatusChangeA@16         @28
-SCardGetStatusChangeW@16         @29
-SCardIntroduceCardTypeA@32       @30
-SCardIntroduceCardTypeW@32       @31
-SCardIntroduceReaderA@12         @32
-SCardIntroduceReaderGroupA@8     @33
-SCardIntroduceReaderGroupW@8     @34
-SCardIntroduceReaderW@12         @35
-SCardIsValidContext@4            @36
-SCardListCardsA@24               @37
-SCardListCardsW@24               @38
-SCardListInterfacesA@16          @39
-SCardListInterfacesW@16          @40
-SCardListReaderGroupsA@12        @41
-SCardListReaderGroupsW@12        @42
-SCardListReadersA@16             @43
-SCardListReadersW@16             @44
-SCardLocateCardsA@16             @45
-SCardLocateCardsByATRA@20        @46
-SCardLocateCardsByATRW@20        @47
-SCardLocateCardsW@16             @48
-SCardReconnect@20                @49
-SCardReleaseContext@4            @50
-SCardReleaseStartedEvent@4       @51
-SCardRemoveReaderFromGroupA@12   @52
-SCardRemoveReaderFromGroupW@12   @53
-SCardSetAttrib@16                @54
-SCardSetCardTypeProviderNameA@16 @55
-SCardSetCardTypeProviderNameW@16 @56
-SCardState@20                    @57
-SCardStatusA@28                  @58
-SCardStatusW@28                  @59
-SCardTransmit@28                 @60
-g_rgSCardRawPci                  @61 DATA
-g_rgSCardT0Pci                   @62 DATA
-g_rgSCardT1Pci                   @63 DATA
-
-; EOF
diff --git a/reactos/dll/win32/winscard/winscard.spec b/reactos/dll/win32/winscard/winscard.spec
new file mode 100644 (file)
index 0000000..a20d780
--- /dev/null
@@ -0,0 +1,63 @@
+@ stdcall -stub ClassInstall32(long ptr ptr)
+@ stdcall -stub SCardAccessNewReaderEvent()
+@ stdcall -stub SCardReleaseAllEvents()
+@ stub SCardReleaseNewReaderEvent
+@ stdcall SCardAccessStartedEvent()
+@ stdcall SCardAddReaderToGroupA(long str str)
+@ stdcall SCardAddReaderToGroupW(long wstr wstr)
+@ stdcall SCardBeginTransaction(long)
+@ stdcall SCardCancel(long)
+@ stdcall SCardConnectA(long ptr long long ptr ptr)
+@ stdcall SCardConnectW(long ptr long long ptr ptr)
+@ stdcall SCardControl(long long ptr long ptr long ptr)
+@ stdcall SCardDisconnect(long long)
+@ stdcall SCardEndTransaction(long long)
+@ stdcall SCardEstablishContext(long ptr ptr ptr)
+@ stdcall SCardForgetCardTypeA(long ptr)
+@ stdcall SCardForgetCardTypeW(long ptr)
+@ stdcall SCardForgetReaderA(long ptr)
+@ stdcall SCardForgetReaderGroupA(long ptr)
+@ stdcall SCardForgetReaderGroupW(long ptr)
+@ stdcall SCardForgetReaderW(long ptr)
+@ stdcall SCardFreeMemory(long ptr)
+@ stdcall SCardGetAttrib(long long ptr ptr)
+@ stdcall SCardGetCardTypeProviderNameA(long ptr long ptr ptr)
+@ stdcall SCardGetCardTypeProviderNameW(long ptr long ptr ptr)
+@ stdcall SCardGetProviderIdA(long ptr ptr)
+@ stdcall SCardGetProviderIdW(long ptr ptr)
+@ stdcall SCardGetStatusChangeA(long long ptr long)
+@ stdcall SCardGetStatusChangeW(long long ptr long)
+@ stdcall SCardIntroduceCardTypeA(long ptr ptr ptr long ptr ptr long)
+@ stdcall SCardIntroduceCardTypeW(long ptr ptr ptr long ptr ptr long)
+@ stdcall SCardIntroduceReaderA(long ptr ptr)
+@ stdcall SCardIntroduceReaderGroupA(long ptr)
+@ stdcall SCardIntroduceReaderGroupW(long ptr)
+@ stdcall SCardIntroduceReaderW(long ptr ptr)
+@ stdcall SCardIsValidContext(long)
+@ stdcall SCardListCardsA(long ptr ptr long str long)
+@ stdcall SCardListCardsW(long ptr ptr long str long)
+@ stdcall SCardListInterfacesA(long ptr ptr ptr)
+@ stdcall SCardListInterfacesW(long ptr ptr ptr)
+@ stdcall SCardListReaderGroupsA(long ptr ptr)
+@ stdcall SCardListReaderGroupsW(long ptr ptr)
+@ stdcall SCardListReadersA(long ptr ptr ptr)
+@ stdcall SCardListReadersW(long ptr ptr ptr)
+@ stdcall SCardLocateCardsA(long ptr ptr long)
+@ stdcall SCardLocateCardsByATRA(long ptr long ptr long)
+@ stdcall SCardLocateCardsByATRW(long ptr long ptr long)
+@ stdcall SCardLocateCardsW(long ptr ptr long)
+@ stdcall SCardReconnect(long long long long ptr)
+@ stdcall SCardReleaseContext(long)
+@ stdcall SCardReleaseStartedEvent()
+@ stdcall SCardRemoveReaderFromGroupA(long ptr ptr)
+@ stdcall SCardRemoveReaderFromGroupW(long ptr ptr)
+@ stdcall SCardSetAttrib(long long ptr long)
+@ stdcall SCardSetCardTypeProviderNameA(long ptr long ptr)
+@ stdcall SCardSetCardTypeProviderNameW(long ptr long ptr)
+@ stdcall SCardState(long ptr ptr ptr ptr)
+@ stdcall SCardStatusA (long str long long long ptr long )
+@ stdcall SCardStatusW (long wstr long long long ptr long )
+@ stdcall SCardTransmit(long ptr ptr long ptr ptr ptr)
+@ extern g_rgSCardRawPci
+@ extern g_rgSCardT0Pci
+@ extern g_rgSCardT1Pci
index b88a56e..7815414 100644 (file)
@@ -212,6 +212,7 @@ reactos/dll/win32/wininet             # Synced to Wine-1.7.17
 reactos/dll/win32/winmm               # Forked at Wine-20050628
 reactos/dll/win32/winmm/midimap       # Forked at Wine-20050628
 reactos/dll/win32/winmm/wavemap       # Forked at Wine-20050628
+reactos/dll/win32/winscard            # Synced to Wine-1.7.17
 reactos/dll/win32/wintrust            # Synced to Wine-1.7.17
 reactos/dll/win32/wldap32             # Synced to Wine-1.7.17
 reactos/dll/win32/wmi                 # Synced to Wine-1.7.17