Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(435)

Unified Diff: base/platform_file.h

Issue 10701050: net: Implement canceling of all async operations in FileStream. (Closed) Base URL: https://src.chromium.org/chrome/trunk/src/
Patch Set: Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | base/platform_file_posix.cc » ('j') | tools/valgrind/memcheck/suppressions.txt » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/platform_file.h
diff --git a/base/platform_file.h b/base/platform_file.h
index 1a71359c5c189c77789d3d271622b844ce72703e..bcf1915440154615927d6d56d7cdf7a41d580dd5 100644
--- a/base/platform_file.h
+++ b/base/platform_file.h
@@ -79,6 +79,13 @@ enum PlatformFileError {
PLATFORM_FILE_ERROR_INVALID_URL = -15,
};
+// This explicit mapping matches both FILE_ on Windows and SEEK_ on Linux.
+enum PlatformFileWhence {
+ PLATFORM_FILE_FROM_BEGIN = 0,
+ PLATFORM_FILE_FROM_CURRENT = 1,
+ PLATFORM_FILE_FROM_END = 2
+};
+
// Used to hold information about a given file.
// If you add more fields to this structure (platform-specific fields are OK),
// make sure to update all functions that use it in file_util_{win|posix}.cc
@@ -119,6 +126,13 @@ BASE_EXPORT PlatformFile CreatePlatformFile(const FilePath& name,
// Closes a file handle. Returns |true| on success and |false| otherwise.
BASE_EXPORT bool ClosePlatformFile(PlatformFile file);
+// Changes current position in the file to an |offset| relative to an origin
+// defined by |whence|. Returns the resultant current position in the file
+// (relative to the start) or -1 in case of error.
+BASE_EXPORT int64 SeekPlatformFile(PlatformFile file,
+ PlatformFileWhence whence,
+ int64 offset);
+
// 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. Note that
// this function makes a best effort to read all data on all platforms, so it is
@@ -137,6 +151,10 @@ BASE_EXPORT int ReadPlatformFileAtCurrentPos(PlatformFile file,
BASE_EXPORT int ReadPlatformFileNoBestEffort(PlatformFile file, int64 offset,
char* data, int size);
+// Same as above but without seek.
+BASE_EXPORT int ReadPlatformFileCurPosNoBestEffort(PlatformFile file,
+ 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. Note that this function makes a best effort to write all data on
@@ -148,6 +166,11 @@ BASE_EXPORT int WritePlatformFile(PlatformFile file, int64 offset,
BASE_EXPORT int WritePlatformFileAtCurrentPos(PlatformFile file,
const char* data, int size);
+// Save as above but does not make any effort to write all data on all
+// platforms. Returns the number of bytes written, or -1 on error.
+BASE_EXPORT int WritePlatformFileCurPosNoBestEffort(PlatformFile file,
+ 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.
« no previous file with comments | « no previous file | base/platform_file_posix.cc » ('j') | tools/valgrind/memcheck/suppressions.txt » ('J')

Powered by Google App Engine
This is Rietveld 408576698