dm_reader_l.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  $RCSfile$
00003                              -------------------
00004     cvs         : $Id: dm_reader_l.h 141 2005-11-26 15:56:44Z aquamaniac $
00005     begin       : Mon Mar 01 2004
00006     copyright   : (C) 2004 by Martin Preuss
00007     email       : martin@libchipcard.de
00008 
00009  ***************************************************************************
00010  *          Please see toplevel file COPYING for license details           *
00011  ***************************************************************************/
00012 
00013 
00014 #ifndef CHIPCARD_SERVER_DM_READER_L_H
00015 #define CHIPCARD_SERVER_DM_READER_L_H
00016 
00017 
00018 typedef struct LCDM_READER LCDM_READER;
00019 
00020 #include <gwenhywfar/db.h>
00021 #include <gwenhywfar/misc.h>
00022 
00023 #include <chipcard2/chipcard2.h>
00024 #include "common/devmonitor.h"
00025 #include "lockmanager_l.h"
00026 
00027 #include <time.h>
00028 
00029 
00030 GWEN_LIST_FUNCTION_DEFS(LCDM_READER, LCDM_Reader);
00031 
00032 #include <chipcard2/chipcard2.h>
00033 #include "devicemanager_l.h"
00034 #include "dm_driver_l.h"
00035 #include "dm_slot_l.h"
00036 
00037 
00038 LCDM_READER *LCDM_Reader_new(LCDM_DRIVER *d, int slots);
00039 void LCDM_Reader_free(LCDM_READER *r);
00040 void LCDM_Reader_Attach(LCDM_READER *r);
00041 
00042 LCDM_READER *LCDM_Reader_fromDb(LCDM_DRIVER *d, GWEN_DB_NODE *db);
00043 void LCDM_Reader_toDb(const LCDM_READER *r, GWEN_DB_NODE *db);
00044 
00045 LCDM_DRIVER *LCDM_Reader_GetDriver(const LCDM_READER *r);
00046 
00047 const char *LCDM_Reader_GetReaderType(const LCDM_READER *r);
00048 void LCDM_Reader_SetReaderType(LCDM_READER *r, const char *s);
00049 
00050 const char *LCDM_Reader_GetReaderName(const LCDM_READER *r);
00051 void LCDM_Reader_SetReaderName(LCDM_READER *r, const char *s);
00052 
00053 
00054 const char *LCDM_Reader_GetReaderInfo(const LCDM_READER *r);
00055 void LCDM_Reader_SetReaderInfo(LCDM_READER *r, const char *s);
00056 
00057 GWEN_TYPE_UINT32 LCDM_Reader_GetReaderId(const LCDM_READER *r);
00058 
00059 GWEN_TYPE_UINT32 LCDM_Reader_GetDriversReaderId(const LCDM_READER *r);
00060 void LCDM_Reader_SetDriversReaderId(LCDM_READER *r, GWEN_TYPE_UINT32 id);
00061 
00062 LC_READER_STATUS LCDM_Reader_GetStatus(const LCDM_READER *r);
00063 void LCDM_Reader_SetStatus(LCDM_READER *r, LC_READER_STATUS st);
00064 
00065 int LCDM_Reader_IsAvailable(const LCDM_READER *r);
00066 void LCDM_Reader_SetIsAvailable(LCDM_READER *r, int i);
00067 
00068 time_t LCDM_Reader_GetLastStatusChangeTime(const LCDM_READER *r);
00069 time_t LCDM_Reader_GetIdleSince(const LCDM_READER *r);
00070 
00071 void LCDM_Reader_SetTimeout(LCDM_READER *r, int secs);
00072 int LCDM_Reader_CheckTimeout(const LCDM_READER *r);
00073 
00074 GWEN_TYPE_UINT32 LCDM_Reader_GetUsageCount(const LCDM_READER *r);
00075 void LCDM_Reader_IncUsageCount(LCDM_READER *r, int count);
00076 void LCDM_Reader_DecUsageCount(LCDM_READER *r, int count);
00077 
00078 unsigned int LCDM_Reader_GetSlots(const LCDM_READER *r);
00079 void LCDM_Reader_SetSlots(LCDM_READER *r, unsigned int i);
00080 
00081 unsigned int LCDM_Reader_GetPort(const LCDM_READER *r);
00082 void LCDM_Reader_SetPort(LCDM_READER *r, unsigned int i);
00083 
00084 unsigned int LCDM_Reader_GetCtn(const LCDM_READER *r);
00085 void LCDM_Reader_SetCtn(LCDM_READER *r, unsigned int i);
00086 
00087 const char *LCDM_Reader_GetShortDescr(const LCDM_READER *r);
00088 void LCDM_Reader_SetShortDescr(LCDM_READER *r, const char *s);
00089 
00090 GWEN_TYPE_UINT32 LCDM_Reader_GetFlags(const LCDM_READER *r);
00091 void LCDM_Reader_SetFlags(LCDM_READER *r, GWEN_TYPE_UINT32 f);
00092 void LCDM_Reader_AddFlags(LCDM_READER *r, GWEN_TYPE_UINT32 f);
00093 void LCDM_Reader_SubFlags(LCDM_READER *r, GWEN_TYPE_UINT32 f);
00094 
00095 LC_DEVICE_BUSTYPE LCDM_Reader_GetBusType(const LCDM_READER *r);
00096 void LCDM_Reader_SetBusType(LCDM_READER *r, LC_DEVICE_BUSTYPE i);
00097 GWEN_TYPE_UINT32 LCDM_Reader_GetVendorId(const LCDM_READER *r);
00098 void LCDM_Reader_SetVendorId(LCDM_READER *r, GWEN_TYPE_UINT32 i);
00099 GWEN_TYPE_UINT32 LCDM_Reader_GetProductId(const LCDM_READER *r);
00100 void LCDM_Reader_SetProductId(LCDM_READER *r, GWEN_TYPE_UINT32 i);
00101 GWEN_TYPE_UINT32 LCDM_Reader_GetBusId(const LCDM_READER *r);
00102 void LCDM_Reader_SetBusId(LCDM_READER *r, GWEN_TYPE_UINT32 i);
00103 GWEN_TYPE_UINT32 LCDM_Reader_GetDeviceId(const LCDM_READER *r);
00104 void LCDM_Reader_SetDeviceId(LCDM_READER *r, GWEN_TYPE_UINT32 i);
00105 
00106 GWEN_TYPE_UINT32 LCDM_Reader_GetCurrentRequestId(const LCDM_READER *r);
00107 void LCDM_Reader_SetCurrentRequestId(LCDM_READER *r, GWEN_TYPE_UINT32 rid);
00108 
00109 
00110 void LCDM_Reader_Dump(const LCDM_READER *r, FILE *f, int indent);
00111 
00112 
00113 LCS_LOCKMANAGER *LCDM_Reader_GetLockManager(const LCDM_READER *r, int slot);
00114 
00115 GWEN_TYPE_UINT32 LCDM_Reader_LockReader(LCDM_READER *r,
00116                                         GWEN_TYPE_UINT32 clid,
00117                                         int maxLockTime,
00118                                         int maxLockCount);
00119 int LCDM_Reader_CheckLockRequest(LCDM_READER *r,
00120                                  GWEN_TYPE_UINT32 reqid);
00121 int LCDM_Reader_RemoveLockRequest(LCDM_READER *r,
00122                                   GWEN_TYPE_UINT32 rqid);
00123 
00124 int LCDM_Reader_CheckLockAccess(LCDM_READER *r,
00125                                 GWEN_TYPE_UINT32 rqid);
00126 
00127 int LCDM_Reader_Unlock(LCDM_READER *r, GWEN_TYPE_UINT32 rqid);
00128 
00129 
00130 
00131 
00132 
00133 #endif /* CHIPCARD_SERVER_DM_READER_L_H */
00134 
00135 

Generated on Sat Sep 22 04:38:38 2007 for libchipcard2 by  doxygen 1.5.3