diff options
author | dumi@chromium.org <dumi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-10 03:01:14 +0000 |
---|---|---|
committer | dumi@chromium.org <dumi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-10 03:01:14 +0000 |
commit | 3fb43ed1ad7bcfeb686aa48e296ffbc639b35ad7 (patch) | |
tree | 652cdff2f723df25189f248740a310dc10583460 /base/platform_file.h | |
parent | 2758379366b4aafde0bce40b7d619840080b5387 (diff) | |
download | chromium_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.h | 28 |
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. |