blob: 16b49b365e65a08e54265fb7bdea34ebbf8d2041 [file] [log] [blame]
Lingfeng Yang43459932020-10-31 01:34:58 -07001// Copyright 2020 The Android Open Source Project
Lingfeng Yangab677722020-10-30 19:38:10 -07002//
Lingfeng Yang43459932020-10-31 01:34:58 -07003// Licensed under the Apache License, Version 2.0 (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
Lingfeng Yangab677722020-10-30 19:38:10 -07006//
Lingfeng Yang43459932020-10-31 01:34:58 -07007// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
Lingfeng Yangab677722020-10-30 19:38:10 -070014
15#pragma once
16
17#include "base/Optional.h"
18
19#include <string>
20
21namespace android {
22
23// Reads from |fd| into |file_contents|
24// Returns false if something went wrong
25bool readFileIntoString(int fd, std::string* file_contents);
26
27// Reads |name| file
28base::Optional<std::string> readFileIntoString(const std::string& filename);
29
30// Writes |file_contents| to |fd|
31// Returns false if something went wrong
32bool writeStringToFile(int fd, const std::string& file_contents);
33
34// Sets the file size to |size|, could either extend or truncate it.
35bool setFileSize(int fd, int64_t size);
36
37} // namespace android