1285101Semaste//===-- LockFilePosix.h -----------------------------------------*- C++ -*-===//
2285101Semaste//
3285101Semaste//                     The LLVM Compiler Infrastructure
4285101Semaste//
5285101Semaste// This file is distributed under the University of Illinois Open Source
6285101Semaste// License. See LICENSE.TXT for details.
7285101Semaste//
8285101Semaste//===----------------------------------------------------------------------===//
9285101Semaste
10285101Semaste#ifndef liblldb_Host_posix_LockFilePosix_h_
11285101Semaste#define liblldb_Host_posix_LockFilePosix_h_
12285101Semaste
13285101Semaste#include "lldb/Host/LockFileBase.h"
14285101Semaste
15285101Semastenamespace lldb_private {
16285101Semaste
17285101Semasteclass LockFilePosix : public LockFileBase
18285101Semaste{
19285101Semastepublic:
20285101Semaste    explicit LockFilePosix (int fd);
21296417Sdim    ~LockFilePosix () override;
22285101Semaste
23285101Semasteprotected:
24285101Semaste    Error
25285101Semaste    DoWriteLock (const uint64_t start, const uint64_t len) override;
26285101Semaste
27285101Semaste    Error
28285101Semaste    DoTryWriteLock (const uint64_t start, const uint64_t len) override;
29285101Semaste
30285101Semaste    Error
31285101Semaste    DoReadLock (const uint64_t start, const uint64_t len) override;
32285101Semaste
33285101Semaste    Error
34285101Semaste    DoTryReadLock (const uint64_t start, const uint64_t len) override;
35285101Semaste
36285101Semaste    Error
37285101Semaste    DoUnlock () override;
38285101Semaste};
39285101Semaste
40296417Sdim} // namespace lldb_private
41285101Semaste
42296417Sdim#endif // liblldb_Host_posix_LockFilePosix_h_
43