aboutsummaryrefslogtreecommitdiff
path: root/include/lldb/Host/FileSystem.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/lldb/Host/FileSystem.h')
-rw-r--r--include/lldb/Host/FileSystem.h107
1 files changed, 52 insertions, 55 deletions
diff --git a/include/lldb/Host/FileSystem.h b/include/lldb/Host/FileSystem.h
index d656d2264f66..6dbea6d2cce3 100644
--- a/include/lldb/Host/FileSystem.h
+++ b/include/lldb/Host/FileSystem.h
@@ -10,67 +10,64 @@
#ifndef liblldb_Host_FileSystem_h
#define liblldb_Host_FileSystem_h
+#include "lldb/Core/Error.h"
+#include "lldb/Host/FileSpec.h"
+#include "llvm/Support/Chrono.h"
+
+#include "lldb/lldb-types.h"
+
#include <stdint.h>
#include <stdio.h>
#include <sys/stat.h>
-#include "lldb/lldb-types.h"
+namespace lldb_private {
+class FileSystem {
+public:
+ static const char *DEV_NULL;
+ static const char *PATH_CONVERSION_ERROR;
-#include "lldb/Core/Error.h"
-#include "lldb/Host/FileSpec.h"
+ static FileSpec::PathSyntax GetNativePathSyntax();
+
+ static Error MakeDirectory(const FileSpec &file_spec, uint32_t mode);
+ static Error DeleteDirectory(const FileSpec &file_spec, bool recurse);
+
+ static Error GetFilePermissions(const FileSpec &file_spec,
+ uint32_t &file_permissions);
+ static Error SetFilePermissions(const FileSpec &file_spec,
+ uint32_t file_permissions);
+ static lldb::user_id_t GetFileSize(const FileSpec &file_spec);
+ static bool GetFileExists(const FileSpec &file_spec);
+
+ static Error Hardlink(const FileSpec &src, const FileSpec &dst);
+ static int GetHardlinkCount(const FileSpec &file_spec);
+ static Error Symlink(const FileSpec &src, const FileSpec &dst);
+ static Error Readlink(const FileSpec &src, FileSpec &dst);
+ static Error Unlink(const FileSpec &file_spec);
+
+ static Error ResolveSymbolicLink(const FileSpec &src, FileSpec &dst);
+
+ static bool CalculateMD5(const FileSpec &file_spec, uint64_t &low,
+ uint64_t &high);
+ static bool CalculateMD5(const FileSpec &file_spec, uint64_t offset,
+ uint64_t length, uint64_t &low, uint64_t &high);
+
+ static bool CalculateMD5AsString(const FileSpec &file_spec,
+ std::string &digest_str);
+ static bool CalculateMD5AsString(const FileSpec &file_spec, uint64_t offset,
+ uint64_t length, std::string &digest_str);
+
+ /// Return \b true if \a spec is on a locally mounted file system, \b false
+ /// otherwise.
+ static bool IsLocal(const FileSpec &spec);
+
+ /// Wraps ::fopen in a platform-independent way. Once opened, FILEs can be
+ /// manipulated and closed with the normal ::fread, ::fclose, etc. functions.
+ static FILE *Fopen(const char *path, const char *mode);
+
+ /// Wraps ::stat in a platform-independent way.
+ static int Stat(const char *path, struct stat *stats);
-namespace lldb_private
-{
-class FileSystem
-{
- public:
- static const char *DEV_NULL;
- static const char *PATH_CONVERSION_ERROR;
-
- static FileSpec::PathSyntax GetNativePathSyntax();
-
- static Error MakeDirectory(const FileSpec &file_spec, uint32_t mode);
- static Error DeleteDirectory(const FileSpec &file_spec, bool recurse);
-
- static Error GetFilePermissions(const FileSpec &file_spec,
- uint32_t &file_permissions);
- static Error SetFilePermissions(const FileSpec &file_spec,
- uint32_t file_permissions);
- static lldb::user_id_t GetFileSize(const FileSpec &file_spec);
- static bool GetFileExists(const FileSpec &file_spec);
-
- static Error Hardlink(const FileSpec &src, const FileSpec &dst);
- static int GetHardlinkCount(const FileSpec &file_spec);
- static Error Symlink(const FileSpec &src, const FileSpec &dst);
- static Error Readlink(const FileSpec &src, FileSpec &dst);
- static Error Unlink(const FileSpec &file_spec);
-
- static Error ResolveSymbolicLink(const FileSpec &src, FileSpec &dst);
-
- static bool CalculateMD5(const FileSpec &file_spec, uint64_t &low, uint64_t &high);
- static bool CalculateMD5(const FileSpec &file_spec,
- uint64_t offset,
- uint64_t length,
- uint64_t &low,
- uint64_t &high);
-
- static bool CalculateMD5AsString(const FileSpec &file_spec, std::string& digest_str);
- static bool CalculateMD5AsString(const FileSpec &file_spec,
- uint64_t offset,
- uint64_t length,
- std::string& digest_str);
-
- /// Return \b true if \a spec is on a locally mounted file system, \b false otherwise.
- static bool IsLocal(const FileSpec &spec);
-
- /// Wraps ::fopen in a platform-independent way. Once opened, FILEs can be
- /// manipulated and closed with the normal ::fread, ::fclose, etc. functions.
- static FILE *
- Fopen(const char *path, const char *mode);
-
- /// Wraps ::stat in a platform-independent way.
- static int
- Stat(const char *path, struct stat *stats);
+ static llvm::sys::TimePoint<> GetModificationTime(const FileSpec &file_spec);
};
}