31
31
#include "unicodeTypes.h"
33
// Horrible hack that exists to please VMX; should be removed ASAP
34
EXTERN int FileLock_DeleteFileVMX(ConstUnicode filePath);
36
33
// The default time, in msec, to wait for a lock before giving up
37
34
#define FILELOCK_DEFAULT_WAIT 2500
50
47
#define FILELOCK_OVERHEAD 15
52
49
// File locking functions
53
EXTERN void *FileLock_Lock(ConstUnicode filePath,
55
const uint32 msecMaxWaitTime,
58
EXTERN int FileLock_Unlock(ConstUnicode filePath,
59
const void *fileLockToken);
61
EXTERN Bool FileLock_IsLocked(ConstUnicode filePath,
64
EXTERN int FileLock_Remove(ConstUnicode filePath);
65
EXTERN int FileLock_CleanupVM(ConstUnicode cfgfilePath);
50
typedef struct FileLockToken FileLockToken;
52
FileLockToken *FileLock_Lock(ConstUnicode filePath,
54
const uint32 msecMaxWaitTime,
57
Unicode FileLock_TokenPathName(const FileLockToken *fileLockToken);
58
int FileLock_Unlock(const FileLockToken *lockToken);
60
Bool FileLock_IsLocked(ConstUnicode filePath,
63
int FileLock_Remove(ConstUnicode filePath);
64
int FileLock_CleanupVM(ConstUnicode cfgfilePath);
67
66
// Device locking functions, for compatibility
68
EXTERN int FileLock_LockDevice(const char *device);
69
EXTERN Bool FileLock_UnlockDevice(const char *device);
67
int FileLock_LockDevice(const char *device);
68
Bool FileLock_UnlockDevice(const char *device);
71
70
#endif // ifndef _FILELOCK_H_