1 //===-- LockFilePosix.h -----------------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #ifndef liblldb_Host_posix_LockFilePosix_h_
11 #define liblldb_Host_posix_LockFilePosix_h_
13 #include "lldb/Host/LockFileBase.h"
15 namespace lldb_private {
17 class LockFilePosix : public LockFileBase {
19 explicit LockFilePosix(int fd);
20 ~LockFilePosix() override;
23 Status DoWriteLock(const uint64_t start, const uint64_t len) override;
25 Status DoTryWriteLock(const uint64_t start, const uint64_t len) override;
27 Status DoReadLock(const uint64_t start, const uint64_t len) override;
29 Status DoTryReadLock(const uint64_t start, const uint64_t len) override;
31 Status DoUnlock() override;
34 } // namespace lldb_private
36 #endif // liblldb_Host_posix_LockFilePosix_h_