devicemanager_l.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  $RCSfile$
00003                              -------------------
00004     cvs         : $Id: devicemanager_l.h 142 2005-11-29 21:40:33Z 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_DEVICEMANAGER_L_H
00015 #define CHIPCARD_SERVER_DEVICEMANAGER_L_H
00016 
00017 
00018 #include <gwenhywfar/types.h>
00019 #include <gwenhywfar/ipc.h>
00020 #include <gwenhywfar/inherit.h>
00021 #include <gwenhywfar/stringlist.h>
00022 
00023 
00032 typedef struct LCDM_DEVICEMANAGER LCDM_DEVICEMANAGER;
00033 
00034 GWEN_INHERIT_FUNCTION_DEFS(LCDM_DEVICEMANAGER)
00035 
00036 
00037 #include "server_l.h"
00038 #include "lockmanager_l.h"
00039 #include <chipcard2/chipcard2.h>
00040 #include "common/card.h"
00041 #include "common/devmonitor.h"
00042 
00043 
00044 
00045 LCDM_DEVICEMANAGER *LCDM_DeviceManager_new(LCS_SERVER *server);
00046 void LCDM_DeviceManager_free(LCDM_DEVICEMANAGER *dm);
00047 
00048 int LCDM_DeviceManager_Init(LCDM_DEVICEMANAGER *dm, GWEN_DB_NODE *dbConfig);
00049 int LCDM_DeviceManager_Fini(LCDM_DEVICEMANAGER *dm);
00050 
00051 void LCDM_DeviceManager_BeginUseCard(LCDM_DEVICEMANAGER *dm, LCCO_CARD *cd);
00052 void LCDM_DeviceManager_EndUseCard(LCDM_DEVICEMANAGER *dm, LCCO_CARD *cd);
00053 
00054 void LCDM_DeviceManager_BeginUseReader(LCDM_DEVICEMANAGER *dm,
00055                                        GWEN_TYPE_UINT32 rid);
00056 void LCDM_DeviceManager_EndUseReader(LCDM_DEVICEMANAGER *dm,
00057                                      GWEN_TYPE_UINT32 rid);
00058 
00059 
00063 void LCDM_DeviceManager_BeginUseReaders(LCDM_DEVICEMANAGER *dm);
00064 void LCDM_DeviceManager_EndUseReaders(LCDM_DEVICEMANAGER *dm, int count);
00065 
00066 
00067 void LCDM_DeviceManager_DriverIpcDown(LCDM_DEVICEMANAGER *dm,
00068                                       GWEN_TYPE_UINT32 ipcId);
00069 
00074 int LCDM_DeviceManager_ListReaders(LCDM_DEVICEMANAGER *dm);
00075 
00080 int LCDM_DeviceManager_ListDrivers(LCDM_DEVICEMANAGER *dm);
00081 
00082 
00086 int LCDM_DeviceManager_Work(LCDM_DEVICEMANAGER *dm);
00087 
00088 int LCDM_DeviceManager_HandleRequest(LCDM_DEVICEMANAGER *dm,
00089                                      GWEN_TYPE_UINT32 rid,
00090                                      const char *name,
00091                                      GWEN_DB_NODE *dbReq);
00092 
00093 GWEN_TYPE_UINT32 LCDM_DeviceManager_SendCardCommand(LCDM_DEVICEMANAGER *dm,
00094                                                     LCCO_CARD *card,
00095                                                     GWEN_DB_NODE *dbCmd);
00096 
00097 const char *LCDM_DeviceManager_GetDriverVar(LCDM_DEVICEMANAGER *dm,
00098                                             LCCO_CARD *card,
00099                                             const char *vname);
00100 
00101 void LCDM_DeviceManager_DumpState(const LCDM_DEVICEMANAGER *dm);
00102 
00103 
00104 
00105 LCS_LOCKMANAGER*
00106   LCDM_DeviceManager_GetLockManager(const LCDM_DEVICEMANAGER *dm,
00107                                     GWEN_TYPE_UINT32 rid,
00108                                     int slot);
00109 
00110 void LCDM_DeviceManager_ClientDown(LCDM_DEVICEMANAGER *dm,
00111                                    GWEN_TYPE_UINT32 clid);
00112 
00113 
00114 GWEN_TYPE_UINT32 LCDM_DeviceManager_LockReader(LCDM_DEVICEMANAGER *dm,
00115                                                GWEN_TYPE_UINT32 rid,
00116                                                GWEN_TYPE_UINT32 clid,
00117                                                int maxLockTime,
00118                                                int maxLockCount);
00119 int LCDM_DeviceManager_CheckLockReaderRequest(LCDM_DEVICEMANAGER *dm,
00120                                               GWEN_TYPE_UINT32 rid,
00121                                               GWEN_TYPE_UINT32 rqid);
00122 int LCDM_DeviceManager_RemoveLockReaderRequest(LCDM_DEVICEMANAGER *dm,
00123                                                GWEN_TYPE_UINT32 rid,
00124                                                GWEN_TYPE_UINT32 rqid);
00125 
00126 int LCDM_DeviceManager_CheckLockReaderAccess(LCDM_DEVICEMANAGER *dm,
00127                                              GWEN_TYPE_UINT32 rid,
00128                                              GWEN_TYPE_UINT32 rqid);
00129 
00130 int LCDM_DeviceManager_UnlockReader(LCDM_DEVICEMANAGER *dm,
00131                                     GWEN_TYPE_UINT32 rid,
00132                                     GWEN_TYPE_UINT32 rqid);
00133 
00134 int LCDM_DeviceManager_SuspendReaderCheck(LCDM_DEVICEMANAGER *dm,
00135                                           GWEN_TYPE_UINT32 rid);
00136 
00137 void LCDM_DeviceManager_ResumeReaderCheck(LCDM_DEVICEMANAGER *dm,
00138                                           GWEN_TYPE_UINT32 rid);
00139 
00140 GWEN_TYPE_UINT32
00141   LCDM_DeviceManager_SendReaderCommand(LCDM_DEVICEMANAGER *dm,
00142                                        GWEN_TYPE_UINT32 readerId,
00143                                        GWEN_DB_NODE *dbCmd);
00144 
00145 
00146 #endif /* CHIPCARD_SERVER_DEVICEMANAGER_L_H */
00147 
00148 
00149 

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