winscard [1/3]: add internal header for pcsc-lite helpers

Mounir IDRASSI mounir.idrassi at idrix.fr
Fri May 25 07:51:43 CDT 2007


Hi,
This serie of patchs adds pcsclite helpers that will translate windows
calls to the pcsclite shared library.
This patch adds a header with definitions of the pcsclite helpers.

Mounir IDRASSI
IDRIX - Cryptography and IT Security Experts
http://www.idrix.fr

-------------- next part --------------
>From 271a672d542d7f6b88e71f03da0432dcd0219d66 Mon Sep 17 00:00:00 2001
From: Mounir IDRASSI <mounir.idrassi at idrix.fr>
Date: Fri, 25 May 2007 14:36:17 +0200
Subject: winscard: add internal header for pcsc-lite helpers

---
 dlls/winscard/pcsclite_helper.h |   88 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 88 insertions(+), 0 deletions(-)

diff --git a/dlls/winscard/pcsclite_helper.h b/dlls/winscard/pcsclite_helper.h
new file mode 100644
index 0000000..8d8b6f6
--- /dev/null
+++ b/dlls/winscard/pcsclite_helper.h
@@ -0,0 +1,88 @@
+/*      PCSCLite helper functions and variables
+ *
+ * Copyright 2007 Mounir IDRASSI  (mounir.idrassi at 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
+ * 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_PCSCLITE_HELPER
+#define _WINE_PCSCLITE_HELPER
+
+
+/*
+ * pcsc-lite specific defines
+ */
+
+#define WINE_MAX_ATR_SIZE			33
+
+typedef long WINE_SCARDCONTEXT;
+typedef long WINE_SCARDHANDLE;
+typedef WINE_SCARDCONTEXT *LPWINE_SCARDCONTEXT;
+typedef WINE_SCARDHANDLE *LPWINE_SCARDHANDLE;
+
+typedef struct
+{
+	const char *szReader;
+	void *pvUserData;
+	unsigned long dwCurrentState;
+	unsigned long dwEventState;
+	unsigned long cbAtr;
+	unsigned char rgbAtr[WINE_MAX_ATR_SIZE];
+} WINE_SCARD_READERSTATE;
+
+typedef WINE_SCARD_READERSTATE *LPWINE_SCARD_READERSTATE;
+
+typedef struct
+{
+	unsigned long dwProtocol;
+	unsigned long cbPciLength;
+} WINE_SCARD_IO_REQUEST;
+
+typedef WINE_SCARD_IO_REQUEST *LPCWINE_SCARD_IO_REQUEST;
+typedef WINE_SCARD_IO_REQUEST *LPWINE_SCARD_IO_REQUEST;
+
+/*
+ * pcsc-lite helper functions
+ */
+
+void InitializePCSCLite(void);
+void FinalizePCSCLite(void);
+
+/*
+ * The following functions will convert winscard parameters to
+ * pcsc-lite types before calling pcsc-lite exported functions
+ */
+LONG compatSCardEstablishContext(DWORD,LPCVOID,LPCVOID,LPSCARDCONTEXT);
+LONG compatSCardReleaseContext(SCARDCONTEXT);
+LONG compatSCardIsValidContext(SCARDCONTEXT);
+LONG compatSCardSetTimeout(SCARDCONTEXT,DWORD);
+LONG compatSCardConnect(SCARDCONTEXT,LPCSTR,DWORD,DWORD,LPSCARDHANDLE,LPDWORD);
+LONG compatSCardReconnect(SCARDHANDLE,DWORD,DWORD,DWORD,LPDWORD);
+LONG compatSCardDisconnect(SCARDHANDLE,DWORD);
+LONG compatSCardBeginTransaction(SCARDHANDLE);
+LONG compatSCardEndTransaction(SCARDHANDLE,DWORD);
+LONG compatSCardCancelTransaction(SCARDHANDLE);
+LONG compatSCardStatus(SCARDHANDLE,LPSTR,LPDWORD,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
+LONG compatSCardGetStatusChange(SCARDCONTEXT,DWORD,LPSCARD_READERSTATEA,DWORD);
+LONG compatSCardControl(SCARDHANDLE,DWORD,LPCVOID,DWORD,LPVOID,DWORD,LPDWORD);
+LONG compatSCardTransmit(SCARDHANDLE,LPCSCARD_IO_REQUEST,LPCBYTE, DWORD,LPSCARD_IO_REQUEST,LPBYTE,LPDWORD);
+LONG compatSCardListReaderGroups(SCARDCONTEXT,LPSTR,LPDWORD);
+LONG compatSCardListReaders(SCARDCONTEXT,LPCSTR,LPSTR,LPDWORD);
+LONG compatSCardCancel(SCARDCONTEXT);
+LONG compatSCardGetAttrib(SCARDHANDLE,DWORD,LPBYTE,LPDWORD);
+LONG compatSCardSetAttrib(SCARDHANDLE,DWORD,LPCBYTE,DWORD);
+
+#endif
+
-- 
1.4.4.2



More information about the wine-patches mailing list