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 Mon Jan 5 20:56:27 2004 for libchipcard by doxygen 1.3.4