lockmanager_l.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  $RCSfile$
00003                              -------------------
00004     cvs         : $Id: lockmanager_l.h 376 2007-05-01 12:46:06Z christian $
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 
00015 #ifndef CHIPCARD_SERVER2_LOCKMANAGER_L_H
00016 #define CHIPCARD_SERVER2_LOCKMANAGER_L_H
00017 
00018 #include <gwenhywfar/types.h>
00019 
00020 
00021 typedef struct LCS_LOCKMANAGER LCS_LOCKMANAGER;
00022 
00023 
00027 LCS_LOCKMANAGER *LCS_LockManager_new(const char *objectTypeName);
00028 void LCS_LockManager_free(LCS_LOCKMANAGER *lm);
00029 
00030 const char *LCS_LockManager_GetObjectTypeName(const LCS_LOCKMANAGER *lm);
00031 
00039 GWEN_TYPE_UINT32 LCS_LockManager_RequestLock(LCS_LOCKMANAGER *lm,
00040                                              GWEN_TYPE_UINT32 clid,
00041                                              int duration,
00042                                              int maxLocks);
00043 
00051 int LCS_LockManager_RequestLockWithId(LCS_LOCKMANAGER *lm,
00052                                       GWEN_TYPE_UINT32 lockid,
00053                                       GWEN_TYPE_UINT32 clid,
00054                                       int duration,
00055                                       int maxLocks);
00056 
00057 GWEN_TYPE_UINT32 LCS_LockManager_GetNextRequestId();
00058 
00059 
00063 int LCS_LockManager_CheckRequest(LCS_LOCKMANAGER *lm,
00064                                  GWEN_TYPE_UINT32 reqid);
00065 
00070 int LCS_LockManager_Unlock(LCS_LOCKMANAGER *lm, GWEN_TYPE_UINT32 reqid);
00071 
00072 
00079 int LCS_LockManager_RemoveRequest(LCS_LOCKMANAGER *lm,
00080                                   GWEN_TYPE_UINT32 reqid);
00081 
00082 
00088 void LCS_LockManager_RemoveAllClientRequests(LCS_LOCKMANAGER *lm,
00089                                              GWEN_TYPE_UINT32 clid);
00090 
00091 int LCS_LockManager_HasLockRequests(const LCS_LOCKMANAGER *lm);
00092 
00093 
00094 int LCS_LockManager_CheckAccess(LCS_LOCKMANAGER *lm,
00095                                 GWEN_TYPE_UINT32 reqid);
00096 
00097 
00098 #endif

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