From 3fb43ed1ad7bcfeb686aa48e296ffbc639b35ad7 Mon Sep 17 00:00:00 2001 From: "dumi@chromium.org" Date: Fri, 10 Sep 2010 03:01:14 +0000 Subject: 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 --- base/platform_file.h | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) (limited to 'base/platform_file.h') 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. -- cgit v1.1