| // Copyright (c) 2022 The Chromium Authors. All rights reserved. | 
 | // Use of this source code is governed by a BSD-style license that can be | 
 | // found in the LICENSE file. | 
 |  | 
 | #ifndef TOOLS_GN_ATOMIC_WRITE_H_ | 
 | #define TOOLS_GN_ATOMIC_WRITE_H_ | 
 |  | 
 | #include "base/files/file_path.h" | 
 |  | 
 | namespace util { | 
 |  | 
 | // Writes the given buffer into the file, overwriting any data that was | 
 | // previously there. The write is performed atomically by first writing the | 
 | // contents to a temporary file and then moving it into place. Returns the | 
 | // number of bytes written, or -1 on error. | 
 | int WriteFileAtomically(const base::FilePath& filename, | 
 |                         const char* data, | 
 |                         int size); | 
 |  | 
 | }  // namespace util | 
 |  | 
 | #endif  // TOOLS_GN_ATOMIC_WRITE_H_ |