Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

ctdriver_pcsc.h

Go to the documentation of this file.
00001 /*************************************************************************** 00002 $RCSfile: ctdriver_pcsc.h,v $ 00003 ------------------- 00004 cvs : $Id: ctdriver_pcsc.h,v 1.3 2003/02/17 04:17:48 aquamaniac Exp $ 00005 begin : Fri Nov 22 2002 00006 copyright : (C) 2001 by Martin Preuss 00007 email : martin@libchipcard.de 00008 00009 *************************************************************************** 00010 * * 00011 * This library is free software; you can redistribute it and/or * 00012 * modify it under the terms of the GNU Lesser General Public * 00013 * License as published by the Free Software Foundation; either * 00014 * version 2.1 of the License, or (at your option) any later version. * 00015 * * 00016 * This library is distributed in the hope that it will be useful, * 00017 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00018 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 00019 * Lesser General Public License for more details. * 00020 * * 00021 * You should have received a copy of the GNU Lesser General Public * 00022 * License along with this library; if not, write to the Free Software * 00023 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * 00024 * MA 02111-1307 USA * 00025 * * 00026 ***************************************************************************/ 00027 00028 00029 #ifndef CTDRIVER_PCSC_H 00030 #define CTDRIVER_PCSC_H "$Id: ctdriver_pcsc.h,v 1.3 2003/02/17 04:17:48 aquamaniac Exp $" 00031 00032 #ifdef __cplusplus 00033 extern "C" { 00034 #endif 00035 00036 00037 #include <winscard.h> 00038 #include <ctcore.h> 00039 #include <chameleon/libloader.h> 00040 00041 00042 typedef LONG (*CTDPCSCESTABLISHCONTEXTPTR)(DWORD dwScope, 00043 LPCVOID pvReserved1, 00044 LPCVOID pvReserved2, 00045 LPSCARDCONTEXT phContext); 00046 typedef LONG (*CTDPCSCRELEASECONTEXTPTR)(SCARDCONTEXT hContext); 00047 typedef LONG (*CTDPCSCLISTREADERSPTR)(SCARDCONTEXT hContext, 00048 LPCSTR mszGroups, 00049 LPSTR mszReaders, 00050 LPDWORD pcchReaders); 00051 typedef LONG (*CTDPCSCCONNECTPTR)(SCARDCONTEXT hContext, 00052 LPCSTR szReader, 00053 DWORD dwShareMode, 00054 DWORD dwPreferredProtocols, 00055 LPSCARDHANDLE phCard, 00056 LPDWORD pdwActiveProtocol); 00057 typedef LONG (*CTDPCSCRECONNECTPTR)(SCARDHANDLE phCard, 00058 DWORD dwShareMode, 00059 DWORD dwPreferredProtocols, 00060 DWORD dwInit, 00061 LPDWORD pdwActiveProtocol); 00062 typedef LONG (*CTDPCSCDISCONNECTPTR)(SCARDHANDLE hCard, 00063 DWORD dwDisposition); 00064 typedef LONG (*CTDPCSCCONTROLPTR)(SCARDHANDLE hCard, 00065 LPCBYTE pbSendBuffer, 00066 DWORD cbSendLength, 00067 LPBYTE pbRecvBuffer, 00068 LPDWORD pcbRecvLength); 00069 typedef LONG (*CTDPCSCTRANSMITPTR)(SCARDHANDLE hCard, 00070 LPCSCARD_IO_REQUEST pioSendPci, 00071 LPCBYTE pbSendBuffer, 00072 DWORD cbSendLength, 00073 LPCSCARD_IO_REQUEST pioRecvPci, 00074 LPBYTE pbRecvBuffer, 00075 LPDWORD pcbRecvLength); 00076 typedef LONG (*CTDPCSCSTATUSPTR)(SCARDHANDLE hCard, 00077 LPSTR szReaderName, 00078 LPDWORD pcchReaderLen, 00079 LPDWORD pdwState, 00080 LPDWORD pdwProtocol, 00081 LPBYTE pbAtr, 00082 LPDWORD pcbAtrLen); 00083 00084 00085 00086 typedef struct CTDRIVERPCSC_DRIVERDATASTRUCT CTDRIVERPCSC_DRIVERDATA; 00087 typedef struct CTDRIVERPCSC_READERDATASTRUCT CTDRIVERPCSC_READERDATA; 00088 00089 00090 00091 struct CTDRIVERPCSC_DRIVERDATASTRUCT { 00092 CTDPCSCESTABLISHCONTEXTPTR establishContext; 00093 CTDPCSCRELEASECONTEXTPTR releaseContext; 00094 CTDPCSCLISTREADERSPTR listReaders; 00095 CTDPCSCCONNECTPTR connect; 00096 CTDPCSCRECONNECTPTR reconnect; 00097 CTDPCSCDISCONNECTPTR disconnect; 00098 CTDPCSCCONTROLPTR control; 00099 CTDPCSCTRANSMITPTR transmit; 00100 CTDPCSCSTATUSPTR status; 00101 SCARDCONTEXT context; 00102 CHLIBLOADERHANDLE libHandle; 00103 }; 00104 00105 00106 struct CTDRIVERPCSC_READERDATASTRUCT { 00107 SCARDHANDLE cardhandle; 00108 DWORD protocol; 00109 }; 00110 00111 00112 ERRORCODE CTDriver_PCSC_Open(CTDRIVERTABLE *dt, 00113 CTREADERDESCRIPTION *rd, 00114 CONFIGGROUP *ddescr); 00115 00116 ERRORCODE CTDriver_PCSC_Close(CTDRIVERTABLE *dt); 00117 00118 00119 #ifdef __cplusplus 00120 } 00121 #endif 00122 00123 00124 #endif /* CTDRIVER_PCSC_H */ 00125 00126

Generated on Wed Jul 28 14:56:49 2004 for libchipcard by doxygen 1.3.7