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

ctcore_public.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  $RCSfile: ctcore_public.h,v $
00003                              -------------------
00004     cvs         : $Id: ctcore_public.h,v 1.5 2003/03/02 16:48:58 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 #ifndef CTCORE_DEFS_H
00029 #define CTCORE_DEFS_H
00030 
00031 #ifdef __cplusplus
00032 extern "C" {
00033 #endif
00034 
00035 #include <chameleon/conf.h>
00036 
00037 
00038 #define CTCORE_ERROR_TYPE "CTCore"
00039 #define CTCORE_ERROR_OPEN_DRIVER_PATH 1
00040 #define CTCORE_ERROR_DRIVER_IO        2
00041 #define CTCORE_ERROR_BUFFER           3
00042 #define CTCORE_ERROR_NO_DRIVER        4
00043 #define CTCORE_ERROR_NO_READER        5
00044 #define CTCORE_ERROR_NO_CLIENT        6
00045 #define CTCORE_ERROR_CARD_REMOVED     7
00046 #define CTCORE_ERROR_LOCKED           8
00047 #define CTCORE_ERROR_DRIVER_SOFT      9
00048 #define CTCORE_ERROR_DRIVER_BUSY      10
00049 #define CTCORE_ERROR_INVALID          11
00050 #define CTCORE_ERROR_BAD_READER       12
00051 
00052 
00053 /* Developers note: These values are redefined in libchipcard.h.
00054  * So please remember to change the values there, too, when changing these
00055  * values here ! */
00056 #define CTREADERSTATUS_INSERTED        0x0001
00057 #define CTREADERSTATUS_CONNECTED       0x0002
00058 #define CTREADERSTATUS_PROCESSOR       0x0004
00059 #define CTREADERSTATUS_LOCKED_BY_OTHER 0x0008
00060 
00061 #define CTREADERFLAGS_KEYPAD  0x0001
00062 #define CTREADERFLAGS_DISPLAY 0x0002
00063 
00064 
00065 CHIPCARD_API typedef struct CTREADERDESCRSTRUCT CTREADERDESCRIPTION;
00066 
00067 CHIPCARD_API typedef enum {
00068   DriverTypeUnknown=0,
00069   DriverTypePCSC,
00070   DriverTypeCTAPI
00071 } CTDRIVERTYPE;
00072 
00073 
00074 CHIPCARD_API struct CTREADERDESCRSTRUCT {
00075   CTREADERDESCRIPTION *next;
00076   int id;
00077   unsigned int readerFlags;
00078   char name[64];
00079   char portName[64]; 
00080   char typeName[64]; 
00081   CTDRIVERTYPE driverType;
00082   char driverName[128];
00083 };
00084 
00085 CHIPCARD_API CTREADERDESCRIPTION *CTCore_ReaderDescr_new();
00086 CHIPCARD_API void CTCore_ReaderDescr_free(CTREADERDESCRIPTION *rd);
00087 
00088 CHIPCARD_API void CTCore_ReaderDescr_Add(CTREADERDESCRIPTION *cmd,
00089                                          CTREADERDESCRIPTION **head);
00090 CHIPCARD_API void CTCore_ReaderDescr_Remove(CTREADERDESCRIPTION *cmd,
00091                                             CTREADERDESCRIPTION **head);
00092 CHIPCARD_API CTREADERDESCRIPTION
00093   *CTCore_ReaderDescr_Duplicate(CTREADERDESCRIPTION *ds);
00094 
00095 CHIPCARD_API CTREADERDESCRIPTION *CTCore_ReadReaderDescr(CONFIGGROUP *grp);
00096 CHIPCARD_API int CTCore_WriteReaderDescr(CONFIGGROUP *grp,
00097                                          CTREADERDESCRIPTION *ds);
00098 
00099 CHIPCARD_API int CTCore_ReadDriverDescriptions(const char *configdir,
00100                                                CONFIGGROUP *cfg);
00101 
00102 
00103 #ifdef __cplusplus
00104 }
00105 #endif
00106 
00107 #endif /* CTCORE_DEFS_H */
00108 
00109 

Generated on Mon Jan 5 20:56:27 2004 for libchipcard by doxygen 1.3.4