summaryrefslogtreecommitdiffstats
path: root/base/platform_file.h
diff options
context:
space:
mode:
authordumi@chromium.org <dumi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-10 03:01:14 +0000
committerdumi@chromium.org <dumi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-10 03:01:14 +0000
commit3fb43ed1ad7bcfeb686aa48e296ffbc639b35ad7 (patch)
tree652cdff2f723df25189f248740a310dc10583460 /base/platform_file.h
parent2758379366b4aafde0bce40b7d619840080b5387 (diff)
downloadchromium_src-3fb43ed1ad7bcfeb686aa48e296ffbc639b35ad7.zip
chromium_src-3fb43ed1ad7bcfeb686aa48e296ffbc639b35ad7.tar.gz
chromium_src-3fb43ed1ad7bcfeb686aa48e296ffbc639b35ad7.tar.bz2
Adding some functions that operate on file handles.
TEST=platform_file_unittest.cc BUG=none TBR=darin Review URL: http://codereview.chromium.org/3354020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59041 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/platform_file.h')
-rw-r--r--base/platform_file.h28
1 files changed, 27 insertions, 1 deletions
diff --git a/base/platform_file.h b/base/platform_file.h
index 802102c..abe5cdd 100644
--- a/base/platform_file.h
+++ b/base/platform_file.h
@@ -40,7 +40,8 @@ enum PlatformFileFlags {
PLATFORM_FILE_TEMPORARY = 512, // Used on Windows only
PLATFORM_FILE_HIDDEN = 1024, // Used on Windows only
PLATFORM_FILE_DELETE_ON_CLOSE = 2048,
- PLATFORM_FILE_TRUNCATE = 4096
+ PLATFORM_FILE_TRUNCATE = 4096,
+ PLATFORM_FILE_WRITE_ATTRIBUTES = 8192 // Used on Windows only
};
enum PlatformFileError {
@@ -94,6 +95,31 @@ PlatformFile CreatePlatformFile(const std::wstring& name,
// Closes a file handle
bool ClosePlatformFile(PlatformFile file);
+// Reads the given number of bytes (or until EOF is reached) starting with the
+// given offset. Returns the number of bytes read, or -1 on error.
+int ReadPlatformFile(PlatformFile file, int64 offset, char* data, int size);
+
+// Writes the given buffer into the file at the given offset, overwritting any
+// data that was previously there. Returns the number of bytes written, or -1
+// on error.
+int WritePlatformFile(PlatformFile file, int64 offset,
+ const char* data, int size);
+
+// Truncates the given file to the given length. If |length| is greater than
+// the current size of the file, the file is extended with zeros. If the file
+// doesn't exist, |false| is returned.
+bool TruncatePlatformFile(PlatformFile file, int64 length);
+
+// Flushes the buffers of the given file.
+bool FlushPlatformFile(PlatformFile file);
+
+// Touches the given file.
+bool TouchPlatformFile(PlatformFile file, const Time& last_access_time,
+ const Time& last_modified_time);
+
+// Returns some information for the given file.
+bool GetPlatformFileInfo(PlatformFile file, PlatformFileInfo* info);
+
// Use this class to pass ownership of a PlatformFile to a receiver that may or
// may not want to accept it. This class does not own the storage for the
// PlatformFile.