00001 #ifndef _LRTS_LOCK_DECL_H
00002 #define _LRTS_LOCK_DECL_H
00003
00004 #if CMK_SHARED_VARS_UNAVAILABLE
00005 typedef int LrtsNodeLock;
00006 #else
00007 #if CMK_SHARED_VARS_NT_THREADS
00008 typedef HANDLE LrtsNodeLock;
00009 #else
00010 typedef void* LrtsNodeLock;
00011 #endif
00012 #endif //CMK_SHARED_VARS_UNAVAILABLE
00013
00014 LrtsNodeLock LrtsCreateLock(void);
00015 void LrtsLock(LrtsNodeLock lock);
00016 void LrtsUnlock(LrtsNodeLock lock);
00017 int LrtsTryLock(LrtsNodeLock lock);
00018 void LrtsDestroyLock(LrtsNodeLock lock);
00019
00020 #define CmiNodeLock LrtsNodeLock
00021 #define CmiCreateLock LrtsCreateLock
00022 #define CmiLock(l) LrtsLock((LrtsNodeLock)l)
00023 #define CmiUnlock(l) LrtsUnlock((LrtsNodeLock)l)
00024 #define CmiTryLock(l) LrtsTryLock((LrtsNodeLock)l)
00025 #define CmiDestroyLock(l) LrtsDestroyLock((LrtsNodeLock)l)
00026
00027
00028 #endif //_LRTS_LOCK_DECL_H