| OLD | NEW | 
|---|
| 1 // Copyright 2014 The Crashpad Authors. All rights reserved. | 1 // Copyright 2014 The Crashpad Authors. All rights reserved. | 
| 2 // | 2 // | 
| 3 // Licensed under the Apache License, Version 2.0 (the "License"); | 3 // Licensed under the Apache License, Version 2.0 (the "License"); | 
| 4 // you may not use this file except in compliance with the License. | 4 // you may not use this file except in compliance with the License. | 
| 5 // You may obtain a copy of the License at | 5 // You may obtain a copy of the License at | 
| 6 // | 6 // | 
| 7 //     http://www.apache.org/licenses/LICENSE-2.0 | 7 //     http://www.apache.org/licenses/LICENSE-2.0 | 
| 8 // | 8 // | 
| 9 // Unless required by applicable law or agreed to in writing, software | 9 // Unless required by applicable law or agreed to in writing, software | 
| 10 // distributed under the License is distributed on an "AS IS" BASIS, | 10 // distributed under the License is distributed on an "AS IS" BASIS, | 
| (...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 181 //!     reading. Logs an error if the operation fails. | 181 //!     reading. Logs an error if the operation fails. | 
| 182 //! | 182 //! | 
| 183 //! \return The newly opened FileHandle, or an invalid FileHandle on failure. | 183 //! \return The newly opened FileHandle, or an invalid FileHandle on failure. | 
| 184 //! | 184 //! | 
| 185 //! \sa ScopedFileHandle | 185 //! \sa ScopedFileHandle | 
| 186 FileHandle LoggingOpenFileForRead(const base::FilePath& path); | 186 FileHandle LoggingOpenFileForRead(const base::FilePath& path); | 
| 187 | 187 | 
| 188 //! \brief Wraps `open()` or `CreateFile()`, creating a file for output. Logs | 188 //! \brief Wraps `open()` or `CreateFile()`, creating a file for output. Logs | 
| 189 //!     an error if the operation fails. | 189 //!     an error if the operation fails. | 
| 190 //! | 190 //! | 
| 191 //! \a write_mode determines the style (truncate, reuse, etc.) that is used to | 191 //! \a mode determines the style (truncate, reuse, etc.) that is used to open | 
| 192 //! open the file. On POSIX, \a permissions determines the value that is passed | 192 //! the file. On POSIX, \a permissions determines the value that is passed as | 
| 193 //! as `mode` to `open()`. On Windows, the file is always opened in binary mode | 193 //! `mode` to `open()`. On Windows, the file is always opened in binary mode | 
| 194 //! (that is, no CRLF translation). On Windows, the file is opened for sharing, | 194 //! (that is, no CRLF translation). On Windows, the file is opened for sharing, | 
| 195 //! see LoggingLockFile() and LoggingUnlockFile() to control concurrent access. | 195 //! see LoggingLockFile() and LoggingUnlockFile() to control concurrent access. | 
| 196 //! | 196 //! | 
| 197 //! \return The newly opened FileHandle, or an invalid FileHandle on failure. | 197 //! \return The newly opened FileHandle, or an invalid FileHandle on failure. | 
| 198 //! | 198 //! | 
| 199 //! \sa FileWriteMode | 199 //! \sa FileWriteMode | 
| 200 //! \sa FilePermissions | 200 //! \sa FilePermissions | 
| 201 //! \sa ScopedFileHandle | 201 //! \sa ScopedFileHandle | 
| 202 FileHandle LoggingOpenFileForWrite(const base::FilePath& path, | 202 FileHandle LoggingOpenFileForWrite(const base::FilePath& path, | 
| 203                                    FileWriteMode write_mode, | 203                                    FileWriteMode mode, | 
| 204                                    FilePermissions permissions); | 204                                    FilePermissions permissions); | 
| 205 | 205 | 
|  | 206 //! \brief Wraps `open()` or `CreateFile()`, creating a file for both input and | 
|  | 207 //!     output. Logs an error if the operation fails. | 
|  | 208 //! | 
|  | 209 //! \a mode determines the style (truncate, reuse, etc.) that is used to open | 
|  | 210 //! the file. On POSIX, \a permissions determines the value that is passed as | 
|  | 211 //! `mode` to `open()`. On Windows, the file is always opened in binary mode | 
|  | 212 //! (that is, no CRLF translation). On Windows, the file is opened for sharing, | 
|  | 213 //! see LoggingLockFile() and LoggingUnlockFile() to control concurrent access. | 
|  | 214 //! | 
|  | 215 //! \return The newly opened FileHandle, or an invalid FileHandle on failure. | 
|  | 216 //! | 
|  | 217 //! \sa FileWriteMode | 
|  | 218 //! \sa FilePermissions | 
|  | 219 //! \sa ScopedFileHandle | 
|  | 220 FileHandle LoggingOpenFileForReadAndWrite(const base::FilePath& path, | 
|  | 221                                           FileWriteMode mode, | 
|  | 222                                           FilePermissions permissions); | 
|  | 223 | 
| 206 //! \brief Locks the given \a file using `flock()` on POSIX or `LockFileEx()` on | 224 //! \brief Locks the given \a file using `flock()` on POSIX or `LockFileEx()` on | 
| 207 //!     Windows. | 225 //!     Windows. | 
| 208 //! | 226 //! | 
| 209 //! It is an error to attempt to lock a file in a different mode when it is | 227 //! It is an error to attempt to lock a file in a different mode when it is | 
| 210 //! already locked. This call will block until the lock is acquired. The | 228 //! already locked. This call will block until the lock is acquired. The | 
| 211 //! entire file is locked. | 229 //! entire file is locked. | 
| 212 //! | 230 //! | 
| 213 //! If \a locking is FileLocking::kShared, \a file must have been opened for | 231 //! If \a locking is FileLocking::kShared, \a file must have been opened for | 
| 214 //! reading, and if it's FileLocking::kExclusive, \a file must have been opened | 232 //! reading, and if it's FileLocking::kExclusive, \a file must have been opened | 
| 215 //! for writing. | 233 //! for writing. | 
| (...skipping 20 matching lines...) Expand all  Loading... | 
| 236 //!     operation fails. | 254 //!     operation fails. | 
| 237 //! | 255 //! | 
| 238 //! Repositions the offset of the open \a file to the specified \a offset, | 256 //! Repositions the offset of the open \a file to the specified \a offset, | 
| 239 //! relative to \a whence. \a whence must be one of `SEEK_SET`, `SEEK_CUR`, or | 257 //! relative to \a whence. \a whence must be one of `SEEK_SET`, `SEEK_CUR`, or | 
| 240 //! `SEEK_END`, and is interpreted in the usual way. | 258 //! `SEEK_END`, and is interpreted in the usual way. | 
| 241 //! | 259 //! | 
| 242 //! \return The resulting offset in bytes from the beginning of the file, or | 260 //! \return The resulting offset in bytes from the beginning of the file, or | 
| 243 //!     `-1` on failure. | 261 //!     `-1` on failure. | 
| 244 FileOffset LoggingSeekFile(FileHandle file, FileOffset offset, int whence); | 262 FileOffset LoggingSeekFile(FileHandle file, FileOffset offset, int whence); | 
| 245 | 263 | 
|  | 264 //! \brief Truncates the given \a file to zero bytes in length. | 
|  | 265 //! | 
|  | 266 //! \return `true` on success, or `false`, and a message will be logged. | 
|  | 267 bool LoggingTruncateFile(FileHandle file); | 
|  | 268 | 
| 246 //! \brief Wraps `close()` or `CloseHandle()`, logging an error if the operation | 269 //! \brief Wraps `close()` or `CloseHandle()`, logging an error if the operation | 
| 247 //!     fails. | 270 //!     fails. | 
| 248 //! | 271 //! | 
| 249 //! \return On success, `true` is returned. On failure, an error is logged and | 272 //! \return On success, `true` is returned. On failure, an error is logged and | 
| 250 //!     `false` is returned. | 273 //!     `false` is returned. | 
| 251 bool LoggingCloseFile(FileHandle file); | 274 bool LoggingCloseFile(FileHandle file); | 
| 252 | 275 | 
| 253 //! \brief Wraps `close()` or `CloseHandle()`, ensuring that it succeeds. | 276 //! \brief Wraps `close()` or `CloseHandle()`, ensuring that it succeeds. | 
| 254 //! | 277 //! | 
| 255 //! If the underlying function fails, this function causes execution to | 278 //! If the underlying function fails, this function causes execution to | 
| 256 //! terminate without returning. | 279 //! terminate without returning. | 
| 257 void CheckedCloseFile(FileHandle file); | 280 void CheckedCloseFile(FileHandle file); | 
| 258 | 281 | 
| 259 }  // namespace crashpad | 282 }  // namespace crashpad | 
| 260 | 283 | 
| 261 #endif  // CRASHPAD_UTIL_FILE_FILE_IO_H_ | 284 #endif  // CRASHPAD_UTIL_FILE_FILE_IO_H_ | 
| OLD | NEW | 
|---|